How to convert lines in a multiline string starting with some "#" to start and end with "_" in Java

1 Answer

0 votes
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class Main {
    public static void main(String[] args) {
        String str = "###Word1 Word2\nWord3\nWord4 Word5 Word6\n##Word7\n#Word8 Word9\n";

        // #+: One or more # characters.
        // (.*): Captures everything after the # up to the newline character.
        // \n: Matches the newline character.
        // Define the regex pattern
        String regex = "#+(.*)\n";

        // Compile the pattern
        Pattern pattern = Pattern.compile(regex);

        // Create a matcher to apply the pattern
        Matcher matcher = pattern.matcher(str);

        // Replace matches with the desired format
        str = matcher.replaceAll("_$1_\n");

        System.out.println(str);
    }
}



/*
run:

_Word1 Word2_
Word3
Word4 Word5 Word6
_Word7_
_Word8 Word9_

*/

 



answered Mar 27 by avibootz
...