我意识到这方面有很多问题,但我还没有找到适合我情况的解决方案。我知道 string.trim() 但它没有效果。在网上研究并发现了对 string.trim() 的仇恨世界之后,我意识到我试图删除的空白字符必须超出 .trim() 的范围。
我正在使用一些我不完全理解的正则表达式来去除字符串中除“=”和“,”之外的任何特殊字符以及所有空格,除非它紧跟在“,”之后。
但是,我现在想从字符串中完全删除所有空格。任何有关如何编辑我用来完成此操作的正则表达式的想法都将不胜感激。同样,我想要的是“=”和“,”以及要保留的数字和字母。应删除所有空格和其他特殊字符。
目前的代码如下:
if (argsToBeFiltered != null) {
// Remove all whitespace and chars apart from = and ,
String filteredArgs = argsToBeFiltered.replaceAll(
"[^=,\\da-zA-Z\\s]|(?<!,)\\s", "");
return filteredArgs;
}
最佳答案
是时候学习正则表达式了!
参见 Pattern以及各种正则表达式教程,例如 Lesson: Regular Expressions .
[^=,\\da-zA-Z\\s]
那部分表示不匹配 (^) 字符:=
、、
、数字 (\d)、A-Z (A-Z) 或 空格 (\s)。但是,您现在可能希望它匹配空格(因为没有第二个逗号后的部分来匹配它们)。所以:
argsToBeFiltered.replaceAll("[^=,\\da-zA-Z]", "");
关于java - 从 Java 中的字符串中修剪空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4327766/