回答
String foo = "this is a thing with & in it";
foo = foo.replaceAll("[^A-Za-z0-9()\\[\\]]", "");
的Javadoc是你的朋友。正则表达式也是你的朋友。
编辑:
这是西亚德,这只是拉丁字母;你可以相应地调整。 \\w
可用于a-zA-Z
表示一个“单词”字符,如果它适用于您的案例,虽然它包括_
。
使用此代码:
String s = "Test[]"
s = s.replaceAll("[");
s = s.replaceAll("]");
他会喜欢保留括号... – 2012-02-05 17:09:21
myString.replaceAll("[^\\w\\[\\]\\(\\)]", "");
的replaceAll方法接受一个正则表达式作为第一个参数,替换所有匹配字符串。此正则表达式匹配哪些不是数字,字母或下划线(\\w
)的所有字符和括号,你需要(\\[\\]\\(\\)]
)
使用'\ w'不会这样做,因为它包含根据问题,“_”字符是无效字符。 – 2012-02-04 20:26:09
也许他只是忘记了下划线? – shift66 2012-02-04 20:29:27
@ÓscarLópez - 不在我的Java和语言环境中。 – 2012-02-04 20:35:37
试试这个:
String s = "123abc&^%[]()";
s = s.replaceAll("[^A-Za-z0-9()\\[\\]]", "");
System.out.println(s);
以上将样品字符串中删除字符"&^%"
,留下s
只有"123abc[]()"
。
取决于你对“数字”,“字母”等的定义。我当然不希望'Straße'被改为'Strae'。哎呀,我会说这是一个非常'天真'..对不起''解决方案;) – Voo 2012-02-04 20:27:24
只是一个供参考,你不必逃避括号。 – 2012-02-04 20:36:24
@BrianRoach谢谢,修复它。 – 2012-02-04 20:39:58
使用Guava,而且几乎肯定更高效(更易读)比正则表达式:
CharMatcher desired = CharMatcher.JAVA_DIGIT
.or(CharMatcher.JAVA_LETTER)
.or(CharMatcher.anyOf("()[]"))
.precomputed(); // optional, may improve performance, YMMV
return desired.retainFrom(string);
不需要小心。这是一个Java库,仅此而已。 – 2012-02-04 21:18:00
这不是你如何使用CharMatcher.or(),它只需要一个参数 – Stephan 2014-06-26 20:59:07
您可以从您的字符串/ URL或者你从用户端得到任何请求参数删除特价字符
public static String removeSpecialCharacters(String inputString){
final String[] metaCharacters = {"../","\\..","\\~","~/","~"};
String outputString="";
for (int i = 0 ; i < metaCharacters.length ; i++){
if(inputString.contains(metaCharacters[i])){
outputString = inputString.replace(metaCharacters[i],"");
inputString = outputString;
}else{
outputString = inputString;
}
}
return outputString;
}
- 1. 从java中的字符串中删除无效的XML字符
- 2. 如何从字符串中删除动态字符字符串?
- 3. 从字符串中删除字符串
- 4. 从字符串中删除字符串
- 5. 如何从JavaScript字符串中删除无效的UTF-8字符?
- 6. 如何从字符串中删除无效的代码点?
- 7. C#从xml中删除无效字符
- 8. 如何从字符串数组中删除任何字符串?
- 9. VB.NET - 从字符串中删除字符
- 10. 从c字符串中删除字符
- 11. 从字符串中删除Unicode字符
- 12. 从字符串中删除字符
- 13. 从Java字符串中删除字符
- 14. 从字符串中删除字符C
- 15. datagridview从字符串中删除'&'字符
- 16. C从字符串中删除字符
- 17. 从字符串中删除字符
- 18. Fortran:从字符串中删除字符
- 19. jQuery从字符串中删除' - '字符
- 20. 从字符串中删除字符?
- 21. 从字符串中删除字符
- 22. Python:从字符串中删除字符
- 23. 从字符串中删除字符[i]
- 24. C++从字符串中删除字符
- 25. 从C字符串中删除字符
- 26. 如何从Python中的字符串中删除字符串?
- 27. 如何从tcl中的字符串中删除子字符串
- 28. 如何从python中的字符串中删除子字符串?
- 29. 如何从javascript中的字符串中删除子字符串?
- 30. 删除字符串中的无效XML字符
主要Java正则表达式引用:[java.util.regex.Pattern](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html) – etech 2016-07-12 14:40:33