遇到一个过滤全角空格的问题,亟待解决...急啊~~~~

oldmaize 2003-03-12 09:34:43
在一个字符串中可能含有中文的或是日文的全角空格,我需要把这些全角的空格转换为半角空格。开始我用replaceAll(" ", " ")来替换(前一个参数是全角空格),后来我又用native2ascii把中文的、日文的全角空格转换为不同的utf-8编码后再替换,如
replaceAll("\ufffd", " ");(EUC_JP)
replaceAll("\u3000", " ");(SJIS)
......
但是都没有用:( 或是这种方法根本是行不通的,大家给点建议吧~~~~
...全文
175 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
oldmaize 2003-03-13
  • 打赏
  • 举报
回复
我的问题还没有解决:(
不过明天代码就release了,看来只能把这个问题算作限制事项写到用户手册了
acefr 2003-03-12
  • 打赏
  • 举报
回复
写个函数给你参考一下:
<!-- Begin
function replaceChars(entry)
{
out = new Array("全角的空格","全角的字符");//可以有多个
add = new Array("你要替换的东西","你要替换的东西2");

temp = "" + entry; // temporary holder
for (i=0;i<90;i++)
{
while (temp.indexOf(out[i])>-1)
{
pos= temp.indexOf(out[i]);
temp = "" + (temp.substring(0, pos) + add[i] +
temp.substring((pos + out[i].length), temp.length));
}
}
document.form1.Body.value = temp;//你要进行处理的输入域,可以是form2,3之类的。
}

// End -->
oldmaize 2003-03-12
  • 打赏
  • 举报
回复
我看了上面的这篇文章,但是我的代码不是处理接收页面信息,不是用javascript的,而且我的问题涉及国际化,每种语言还会有多种编码格式,我试了上面的方法,还是不行啊:(
zxhong 2003-03-12
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView2.asp?id=1044714&datebasetype=now
zxhong 2003-03-12
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView2.asp?id=1055525&datebasetype=now
oldmaize 2003-03-12
  • 打赏
  • 举报
回复
我试了一下,但是还不行:(
例如我读入一个string值为"-- start flag --"在'-'和'start'之间是个全角空格,读入这个string后跟踪看到的string = "--$B!!(Bstart flag --",全角空格已经是乱码了,对应的具体的string的组成是char[23]=
--\u001B$B!!\u001B(Bstart flag --
也就是说
"--$B!!(Bstart flag --"里显示不出来的方框变成了\u001B,其他可显示的字符就都照原样显示了,所以原来的全角空格,现在已经不是全角空格了,而是变成了其它的字符,所以简单地替换是不成功的。我后来又用javax.mail.internet.MimeUtility:
MimeUtility.decodeText("这个string");//先对string解码
再用replace替换,还是不行~~~
不晓得怎么办了:(

62,635

社区成员

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

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