(2) "<“和">”表示一些特殊的东西,不算作标点符号。程序本身是伪随机构建短语的,我想在经历随机过程之前去掉句子末尾的标点符号。
换句话说:
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher([some input string]);
将抓取末尾带有"!"
的任何单词。例如:
String inputString = "It is a warm Summer day!";
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher(inputString);
String match = inputString.substring(m.start(), m.end());
结果是-->字符串匹配~ "day!“
但是我想让Matcher
只对"!"
进行索引,这样我就可以把它拆分了。
我可能会做大小写,并为我可能得到的每一种标点符号使用String.substring(...)
,但我希望我在使用正则表达式来做这件事时有一些错误。
发布于 2012-07-29 06:24:13
我会尝试一个类似如下的字符类regex
"[.!?\\-]"
在[]
中添加您希望匹配的任何字符。注意转义任何可能对正则表达式解析器有特殊意义的字符。
然后,您必须使用Matcher.find()
遍历匹配,直到它返回false。
https://stackoverflow.com/questions/11705112
复制相似问题