替换令牌中的所有内容,字母字符和句点除外
Replacing everything from a token except Alphabetic charaticers and periods
我正在使用一次接受一个单词的字符串分词器。当我阅读此标记时,我想从中删除所有不是字母字符 (A-Z) 和句点 (.) 的内容。我目前正在处理类似的东西,但它会留下一些奇怪的字符以及“,”之类的东西。我想知道是否有更居高临下和更有效的方式来处理这样的事情。
StringTokenizer biDoc = new StringTokenizer(new String(value.getBytes()));
while(biDoc.hasMoreElements()){
String token = new String(biDoc.nextToken().replaceAll("[-@#$%^&*',;!?:()\'\"/<>]+_", "").replace("/[0-9]", ""));
contentPrev.add(token);
}
所以我希望:
H''''i i""m Bob.我去上学 I_Like 编程。
会显示:
嗨,我是鲍勃。我上学并且喜欢编程
这是我在这里的第一个问题,如果格式不正确,请见谅。
替换
String token = new String(biDoc.nextToken().replaceAll("[-@#$%^&*',;!?:()\'\"/<>]+_", "").replace("/[0-9]", ""));
和
String token = new String(biDoc.nextToken().replaceAll("[\W_]", "").replace("/[0-9]", ""));
本质上你不想知道所有非字母数字字符,所有这些非字母数字字符都可以用 \W
表示。并且要生成这样的输出,您需要在每个循环的末尾附加一个空格,如下所示。
contentPrev.add(token + " "); // Of course you should use StringBuilder or StringBuffer depending on the requirements of thread safety.
有关详细信息,请参阅 documentation。
I want to strip everything from it that is no a Alphabetic character (A-Z) and a period(.)
要与 replaceAll()
一起使用,此正则表达式匹配所有要删除的不需要的字符:
[^a-zA-Z.]+
我正在使用一次接受一个单词的字符串分词器。当我阅读此标记时,我想从中删除所有不是字母字符 (A-Z) 和句点 (.) 的内容。我目前正在处理类似的东西,但它会留下一些奇怪的字符以及“,”之类的东西。我想知道是否有更居高临下和更有效的方式来处理这样的事情。
StringTokenizer biDoc = new StringTokenizer(new String(value.getBytes()));
while(biDoc.hasMoreElements()){
String token = new String(biDoc.nextToken().replaceAll("[-@#$%^&*',;!?:()\'\"/<>]+_", "").replace("/[0-9]", ""));
contentPrev.add(token);
}
所以我希望: H''''i i""m Bob.我去上学 I_Like 编程。 会显示: 嗨,我是鲍勃。我上学并且喜欢编程
这是我在这里的第一个问题,如果格式不正确,请见谅。
替换
String token = new String(biDoc.nextToken().replaceAll("[-@#$%^&*',;!?:()\'\"/<>]+_", "").replace("/[0-9]", ""));
和
String token = new String(biDoc.nextToken().replaceAll("[\W_]", "").replace("/[0-9]", ""));
本质上你不想知道所有非字母数字字符,所有这些非字母数字字符都可以用 \W
表示。并且要生成这样的输出,您需要在每个循环的末尾附加一个空格,如下所示。
contentPrev.add(token + " "); // Of course you should use StringBuilder or StringBuffer depending on the requirements of thread safety.
有关详细信息,请参阅 documentation。
I want to strip everything from it that is no a Alphabetic character (A-Z) and a period(.)
要与 replaceAll()
一起使用,此正则表达式匹配所有要删除的不需要的字符:
[^a-zA-Z.]+