java - java中如何删除字符串中的所有特殊字符?

标签 java

我想从字符串中删除所有特殊字符,我尝试了 stackoverflow 中给出的许多选项,但没有一个对我有用。

这是我的代码:

public class convert {

    public static void main(String[] args) {
        try {    
            List<List<String>> outerList = new ArrayList<List<String>>();
            outerList.add(new ArrayList<String>(asList("11-","2")));
            outerList.add(new ArrayList<String>(asList("(2^","1")));
            outerList.add(new ArrayList<String>(asList("11","3)")));    

            int i,j;
            for(i=0;i<outerList.size();i++){    
                    for(j=0;j<outerList.get(0).size();j++){    
                            outerList.get(i).get(j).replaceAll("[^\\w\\s]", "");
                            if(outerList.get(i).get(j).matches("-?\\d+"){
                               continue;
                            }else{
                               System.out.println("special characters not removed");
                               System.exit(0);
                            }
                   }
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
} 

最佳答案

(简单)错误是 s.replaceAll(...) 不会更改 s 但会产生一个新的更改后的字符串:

String s = outerList.get(i).get(j).replaceAll("[^\\w\\s]", "");
outerList.get(i).set(j, s);

关于java - java中如何删除字符串中的所有特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25784493/

相关文章:

java - 如何将嵌套数组列表转换为数组列表?

java - 打印字符串?

java - 正则表达式不匹配

java - 如何知道两个线程中哪个线程先完成执行

java - ServiceConfigurationError - Keycloak 配置未找到 SPI 用户存储提供程序

java - 需要一个字符串,但在第 1 行第 2305 列路径 $.items[0].author 处是 BEGIN_OBJECT

java - Java中如何将Data设置为多维数组?

Java Webstart 日志记录

java - 如何处理现实项目中的运行时异常

java - 使用 JPA 和 Hibernate 时如何选择 id 生成策略