如何在点后分割字符串并将其打印到下一行

时间:2015-11-06 04:39:58

标签: java string

String string = "This is a example.just to verify.please help me."; 
if(string.matches("(.*).(.*)"))
{
  System.out.println(true); 
  String[] parts = string.split("\\r?\\n");
    for(String part:parts){
       System.out.println(part);
    }
}

我想将每个点后的字符串拆分到下一行。任何人都可以帮助我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

使用积极的lookbehind。而且在match函数中,你需要像string.matches(".*\\..*")一样转义点,因为dot是一个匹配任何字符的正则表达式特殊字符。

String[] parts = string.split("(?<=\\.)");

如果您不想在最后一个点之后进行拆分。

String[] parts = string.split("(?<=\\.)(?!$)");

DEMO

答案 1 :(得分:2)

使用正则表达式"\\."

public static void main(String[] args) {
        String string = "This is a example.just to verify.please help me.";
        if (string.matches("(.*).(.*)")) {
            System.out.println(true);
            String[] parts = string.split("\\.");
            for (String part : parts) {
                System.out.println(part);
            }
        }
    }

<强>输出

true
This is a example
just to verify
please help me