我正在尝试接受String
作为输入,用空格字符将其拆分以便将单词存储在数组中,然后使用这些单词与其他单词进行比较。问题是我希望在分割期间忽略句点,因为它们被比较的单词将永远不会包含句号。
例如:
String testString = "This. is. a. test. string.";
String[] test = testString.split(" ");
for (int i = 0; i < test.length; i++) {
System.out.println(test[i]);
}
这将打印出来:
This.
is.
a.
test.
string.
相反,我希望打印出来:
This
is
a
test
string
如何忽略分割期间的时间段?
答案 0 :(得分:5)
怎么样
String[] test = testString.split("\\.[ ]*");
或
String[] test = testString.split("\\.\\s*");
或超过一个时期(和省略号)
String[] test = testString.split("\\.+\\s*");
答案 1 :(得分:1)
String[] test = testString.split("\\.\\s*");
答案 2 :(得分:0)
替换拆分字符串replace(".","");
String testString = "This. is. a. test. string.";
String[] test = testString.split(" ");
for (int i = 0; i < test.length; i++) {
System.out.println(test[i].replace(".",""));
}}
答案 3 :(得分:0)
public class Main {
public static void main(String[] args) {
String st = "This. is. a. test. string."";
String[] tokens = st.split(".(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
for(String t : tokens) {
System.out.println("> "+t);
}
}
}