2012-11-01 165 views
0

我有一个字符串变量说'结果'。该字符串的值应该只包含字母,数字,点,空格,连字符和下划线。我得到的正则表达式是'^ [a-zA-Z] [a-zA-z ._-]'。带/从JAVA中的字符串中删除特定字符

如何在字符串变量上使用此正则表达式?请帮帮我。

任何其他建议也是受欢迎的。基本上我需要字符串值只有字母数字,点,空格,连字符,下划线。

请帮忙。答案

部分: 我能够实现部分使用

string.replaceAll("[^a-zA-Z0-9]", ""); 

的行为,但我不能加点,空格,连字符,下划线上述验证。上面的验证删除所有需要字母数字字符的字符。但我需要点,空格,连字符,下划线也不能从原始字符串中替换/删除。

有什么想法吗?

+0

答案就在这里:[http://stackoverflow.com/questions/4945695/how-to-filter-string-for -unwanted字符-使用正则表达式] [1] [1]:http://stackoverflow.com/questions/4945695/how-to-filter-string-for-unwanted-characters-using-正则表达式 –

回答

2

只需使用.replaceAll("[aeiou]","")这将工作。

+0

这将单独删除wovels ..我需要删除除字母,数字,连字符,点,空格和下划线之外的其他字符 – AJJ

+0

尝试使用[a-zA-Z0-9 _ @!} {$ |#^ \ * \\ [\\]:/.= \\\\? ] –

1

只需使用yourstring.split()方法并从要删除符号的位置拆分字符串,然后再追加字符串。

有乐趣...

0

是的,你可以很容易地存储在任何变量字符串使用StringBuilder对象之后做到这一点,添加你要根据自己的地方加入字符或符号。

yourString.setText(new StringBuilder().append("character or symbol").append(anystring) 
       .append(":")); 

你可以轻松地从上面的代码做到。

0

String x =“a c d” 您想用( - ) 替换所有的空格x = x.replace(“”,“ - ”);

+0

不完全,在这个问题中,它表示“字符串应该只包含字母,数字,点,**空格**,连字符和下划线” – pajaja

0

修改已[^a-zA-Z0-9]正则表达式来匹配你想要这些字符:

string.replaceAll("[^a-zA-Z0-9\s\._-]", "");