我正在尝试从标点符号中拆分一个单词:
例如,如果单词是“ Hello?”。我想将“ Hello”存储在一个变量中,将“?”存储在一个变量中在另一个变量中。
我尝试使用.split方法,但是删除了定界符(标点符号),这意味着您不会保留标点符号。
String inWord = "hello?";
String word;
String punctuation = null;
if (inWord.contains(","+"?"+"."+"!"+";")) {
String parts[] = inWord.split("\\," + "\\?" + "\\." + "\\!" + "\\;");
word = parts[0];
punctuation = parts[1];
} else {
word = inWord;
}
System.out.println(word);
System.out.println(punctuation);
我被困住了,看不到另一种方法。
提前致谢
最佳答案
您可以使用正向前瞻进行拆分,因此您实际上无需使用标点符号进行拆分,而是在其前面的位置:
inWord.split("(?=[,?.!;])");
ideone demo