java - Android 中如何去掉不需要的字符?

标签 java android string

我有这个代码

public String StripText(String name){

        String stripped = name.replaceAll("/:!@#$%^&*()<>+?\"{}[]=`~;", "");

        return stripped;
    }

这不起作用。我希望它返回一个字符串,删除出现的字符,如“/”“:”“!” “@”等。

例如如果我给它一个字符串“puppy:)love”,我希望它返回一个仅包含“puppylove”的字符串。

最佳答案

您只需将所有字符放入 character class 中即可通过“字符类”(也称为“字符集”),您可以告诉正则表达式引擎仅匹配多个字符中的一个。只需将要匹配的字符放在方括号之间即可。

String stripped = name.replaceAll("[/:!@#$%^&*()<>+?\"{}\\[\\]=`~;]", "");

您还需要转义字符类中存在的 [, ] 字符,否则会将第一个 ] 视为 charclass 的结尾.

示例:

String name = "[{puppy:)love}]";
String stripped = name.replaceAll("[/:!@#$%^&*()<>+?\"{}\\[\\]=`~;]", "");
System.out.println(stripped);

输出:

puppylove

关于java - Android 中如何去掉不需要的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425152/

相关文章:

java - 为什么按值排序结果错误?

Java Web 服务和多态性

java - 通过输入值计算出奇偶数或零

java - 有人可以用 Java 向我解释一下代码吗? % 和/= 如何得到输入的所有总和?

Android Facebook SDK SSO Logcat "Failed to find provider info for com.facebook.katana.provider.AttributionIdProvider"

Java修剪(): Cleanest way to check null string before trimming?

java - 从字节数组创建字符串不会返回相同的长度

android - 如何在 SherlockMapActivity 中实现 google maps api v2

java - 在Android中实现数据缓存

c# - 从字符串中删除字符的问题