如何使用java拆分字符串,同时保留分隔符在句末
可能重复:如何使用java拆分字符串,同时保留分隔符在句末,java,Java,可能重复: 假设我有以下句子- What is your name? My name is Don. You are so nice! 我希望java的输出如下 What is your name? My name is Don. You are so nice! 我使用了java split()方法。但它在没有分隔符的情况下分裂。我使用了split(“[\\.!?]”)这样做的技巧: split("(?<=[.?!])"); split((?您应该在空格上进行拆分,并在“.”!?
假设我有以下句子-
What is your name? My name is Don. You are so nice!
我希望java的输出如下
What is your name?
My name is Don.
You are so nice!
我使用了java split()方法。但它在没有分隔符的情况下分裂。我使用了split(“[\\.!?]”)
这样做的技巧:
split("(?<=[.?!])");
split((?您应该在空格上进行拆分,并在“.”!?”字符上进行查找
String s = "What is your name? My name is Don. You are so nice!";
String[] tokens = s.split("(?<=[\\.\\!\\?])\\s");
for (String t : tokens) System.out.println(t);
String s=“你叫什么名字?我叫唐。你真好!”;
String[]tokens=s.split(“(?这个问题与-,请记住在发布前搜索完全相同。@Nick,这个问题询问如何在非字母数字上拆分,这不是OP想要的。这不会删除空格,我相信OP想要。@Qwerky-要求是:在分隔符(标点符号)处拆分)但是,像你展示的那样,一次就把空间去掉是一个好主意(奖励)。