我怎样才能在字符串中保留数字字母

时间:2012-12-08 14:51:06

标签: java regex string

我想从字符串中删除所有奇怪的符号。 只保留一些[A-Z] [a-z] [0-9] [“':; /?。,<>`〜!@#$%^& *()] 在我的字符串中。 示例

String a="abc:d(E) ƒ†â¥‡";

结果将是:

a="abc:d(E)";

我只是研究一下java正则表达式。 你能帮帮我吗?

我的代码到现在为止

a=a.replaceAll("[^a-zA-Z]+, "")

不知道要添加[*& ^ ..]部分

3 个答案:

答案 0 :(得分:2)

您可以使用replaceAll,如下所示:

a = a.replaceAll("[^A-Za-z0-9\"'<and so on>]", "");

请注意字符范围开头的^:它表示“方括号中列表的其余部分覆盖了所有字符 ”。

由于替换为空字符串,因此将删除与正则表达式匹配的字符。

答案 1 :(得分:0)

你可以创建一个包含所有坏字符的字符串,只需用坏字符串检查你所拥有的每个字符串。如果您发现了不良角色,请将其删除。

答案 2 :(得分:0)