如何从字符串中删除除一组字符以外的所有字符?

goucqfw6  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(331)

关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。

5年前关门了。
改进这个问题
我想删除字符串中除“+”、“-”和“.”以外的所有字符。这些值可以存储在数组中,也可以硬编码到程序中。不管怎样,是用特定的函数还是正则表达式来实现这一点呢?

xlpyo6sf

xlpyo6sf1#

是的,正则表达式有否定字符类的语法。
不,我不会给你完整的解决方案。在regexp手册中查找。它是如此基本,我不明白你为什么要问,当它在每一个文件的权利。问题在哪里?

2guxujil

2guxujil2#

可以使用regex替换字符串。

/[^\+|\-|\.]/g

这有点过分了。相反,我只需遍历字符串并通过添加所需的字符来构建一个新的字符串。比如:

String text = retrieveTextToProcess();
StringBuilder sb = new StringBuilder();

for (char ch: text.toCharArray()) {
    if(isDesiredCharacter(ch)) {
       sb.Append(ch);
    }
}

您需要编写retrievetexttoprocess和isDesignCharacter方法。

相关问题