java - 从 Java 中的字符串中修剪空格

标签 java regex string filter replace

我意识到这方面有很多问题,但我还没有找到适合我情况的解决方案。我知道 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/

相关文章:

java - 如何在 JTable 中编辑行

java - 未封闭的字符类错误?

string - 如何在 Golang 中解决(字符串和字节类型不匹配)

c# - ExpectedException.NoExceptionMessage 中的字符串出现在哪里?

java - Android帮助,试图将值(value)从一个类转移到另一个类(android应用程序)

java - 如何将有序数据放入jsonObject中?

regex - 在列表元素的子集上使用 lapply 并返回与 R 中原始长度相同的列表

string - 在单元格数组中所有字符串的每个字符之间放置一个字符

java - Spring Boot 设置包含通过环境变量的配置文件

javascript - 如果存在成对的大括号,则只允许特定的字符串正则表达式