ASCII为0的字符如何转换为""? replaceAll("\0",""); 试试看如何? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 replaceAll("\0","");不行。用replaceAll("NUM","");也不行。因为我查ASCII表,ASCII为0的字符为不可见字符NUL。 那就这样吧 String str1 = "2 3 4 "; String str2 = str1.replaceAll( "[^\\d]", "" ); System.out.println( str2 ); 用String str2 = str1.replaceAll( "[^\\d]", "" );果然可以,不过是什么道理呢?我刚才用了一个笨办法: byte[] ss=s.getBytes(); int j=0; for(int i=0;i<ss.length;i++) { int val=ss[i]; if(val==0) j++; System.out.println(val); } byte[] s2=new byte[ss.length-j]; int ji=0; for(int ii=0;ii<ss.length;ii++) { int val=ss[ii]; if(val!=0) { s2[ji]=ss[ii]; ji++; } } String ssss=new String(s2); 你的那种办法是可以啊不过不是很推荐就是了因为要写很多~~~~~呵呵我的那种方法是正则表达式的写法"[^\\d]" \\d 的意思是数字 ^\\d 的意思就是非数字那么上面的写法就是把所有非数字的字符都去掉明白? 如果你要保留你的英文字母就这样来 String str1 = "2 3 4 d"; String str2 = str1.replaceAll( "[\\W]", "" ); System.out.println( str2 ); java新手从那里学起? 关于字符串交叉判断 菜鸟求解,我编写的简单的记事本,求速解~!!!!!!! 请教applet连接不上服务器? 字符串处理的简单问题 代码疑问 建立目录的小问题 applet密码验证的问题? WinXP 下为什么运行和安装JAVA程序总出错! 在BEAN中怎么删除磁盘文件? C客户端传来的中文字节流,如何在Java服务器端转换为正常的 JAVA中将任意长字串加密成等长字串,有没有这样的算法和程序。
String str2 = str1.replaceAll( "[^\\d]", "" );
System.out.println( str2 );
用String str2 = str1.replaceAll( "[^\\d]", "" );果然可以,不过是什么道理呢?
我刚才用了一个笨办法:
byte[] ss=s.getBytes();
int j=0;
for(int i=0;i<ss.length;i++)
{
int val=ss[i];
if(val==0)
j++;
System.out.println(val);
}
byte[] s2=new byte[ss.length-j];
int ji=0;
for(int ii=0;ii<ss.length;ii++)
{
int val=ss[ii];
if(val!=0)
{
s2[ji]=ss[ii];
ji++;
}
}
String ssss=new String(s2);
不过不是很推荐就是了
因为要写很多~~~~~
呵呵我的那种方法是正则表达式的写法
"[^\\d]"
\\d 的意思是数字 ^\\d 的意思就是非数字
那么上面的写法就是
把所有非数字的字符都去掉明白?
就这样来 String str1 = "2 3 4 d";
String str2 = str1.replaceAll( "[\\W]", "" );
System.out.println( str2 );