求一个过滤特殊字符的方法

liuxiaohui1987 2009-07-15 05:29:16
String guolv="~!@#$%^&*()_+{}|:<>?`1234567890-=[]\\;',./~!·#¥%……—*()——+{}|:“”《》?`-=[]、;‘’,。/\"\"~!·#¥%…—*()—+{}|:《》?,。/;‘、=-1234567890";
String str="abc@ui#/mm\\a\"";
字符串goulv是要被过滤掉的所有字符,想把str里出现的guolv里的字符都用空去替换,就是去掉,
麻烦高人给出个方法,指点,谢谢!
...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuxiaohui1987 2009-07-15
  • 打赏
  • 举报
回复
我的可以啊!他的方法和我的没什么区别,正则表达式还是要去看看,不会...
bigbug9002 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liuxiaohui1987 的回复:]
自己来一个
char g[]=guolv.toCharArray();
char st[]=str.toCharArray();
String one,tow,three;
String ii=str.replaceAll("@", "");
System.out.println(ii);
for(int v=0;v <st.length;v++)
{
for(int y=0;y <g.length;y++)
{
if(st[v]==g[y])
{
String jj=str.replace(g[y], ' ').replaceAll(" ", ""); …
[/Quote]

用三楼的办法试试.
liuxiaohui1987 2009-07-15
  • 打赏
  • 举报
回复
自己来一个
char g[]=guolv.toCharArray();
char st[]=str.toCharArray();
String one,tow,three;
String ii=str.replaceAll("@", "");
System.out.println(ii);
for(int v=0;v<st.length;v++)
{
for(int y=0;y<g.length;y++)
{
if(st[v]==g[y])
{
String jj=str.replace(g[y], ' ').replaceAll(" ", "");
str=jj;
System.out.println(jj);
}
}
}
rascalboy520 2009-07-15
  • 打赏
  • 举报
回复
是不是只匹配字母,汉字啊,不会出现什么日文什么的吧?
rascalboy520 2009-07-15
  • 打赏
  • 举报
回复
这么多,这是做什么啊,谁给出个效率点的方法,直接replaceAll()的话,要匹配判断太多次,
ltandfyy 2009-07-15
  • 打赏
  • 举报
回复
给个建议,因为下班了,没时间了,将guolv的字符外面再加上[],利用正则表达式的特性,调用str.replaceAll()方法直接替换,但guolv中出现的部分特殊字符要加\\转义,如- [ ]等等,要LZ试一下。
tnubi 2009-07-15
  • 打赏
  • 举报
回复
学的不好 其实没看懂 但还是要顶一下!
bigbug9002 2009-07-15
  • 打赏
  • 举报
回复
replaceAll()就可以了.




62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧