站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题字符串处理问题,高手指教!!在线等

字符串处理问题,高手指教!!在线等

摘要: 字符串处理问题,高手指教!!在线等


编一个函数,两个参数一个字符串,一个是要截取的字符串个数,按照数字对字符串的进行截取,
如: ABC汉.数字是3则输出ABC,如果是4则还是输出ABC,不能输出半个汉字.



输入四的话结果是:ABC汉!
狂晕!!!!!!!!!


好像问过一次了,没有解决么?


最后一个汉字容易解决,但如果中间有汉字呢?算几个?


在线等?


解决问题,等你给分。


private static String cut(String str, int len) {
String retstr = str.substring(0, len);
while(retstr.getBytes().length > len) {
retstr = retstr.substring(0, retstr.length() - 1);
}
return retstr;
}

楼主客气了。


没人啦?


一个可行的方法:
利用reaplaceAll方法,把字符串中的汉字全用空格替换。
然后取字符串长,在这里面把空格删除(如果不要空格的话)


是的,我问的就是中间有怎么办?


我已经有比较完美的解决办法,但为了防止不给分的情况发生,如下贴:
http://community.csdn.net/Expert/topic/5106/5106302.xml?temp=.2036707
请先给分,我再贴我的方法。如果方法无效、不好,我把分给回你。

强烈抗议赖分行为!
编号:243941 发送者:yyfeel 发送时间:2006-10-23 16:02:14 删除 回复
接受者:gzpoplar 重要性:重要性:1 非常不重要重要性:2 不重要重要性:3 一般重要性:4 重要重要性:5 非常重要
内容 能给多少给多少,还请赐教

编号:246630 发送者:gzpoplar 发送时间:2006-10-27 13:31:51 删除 回复
接受者:w5552 重要性:重要性:1 非常不重要重要性:2 不重要重要性:3 一般重要性:4 重要重要性:5 非常重要
内容 不给我分?

编号:244972 发送者:gzpoplar 发送时间:2006-10-25 12:25:43 删除 回复
接受者:yyfeel 重要性:重要性:1 非常不重要重要性:2 不重要重要性:3 一般重要性:4 重要重要性:5 非常重要
内容 Re:能给多少给多少,还请赐教

IP数据表增加2个字段:ipstartlong, ipendlong
略............................................
最好短期内不要公开,虽然比较滥,但很管用。




YidingHe(机枪兵)
你的只是能解决汉字在最后的情况!不能处理中间的情况!


1个汉字算2个长度?


这还是不太难的
用个比较土的办法是 先把string转化为byte 当然用gb2312了 这样汉字就是负的数了。当然汉字是两位,其他符号是一位,那么就在其他符号前加个(byte)i (i=128)
当你输入一个数时,加一倍,比如是5 那么就是10了。 这个时候你判断 如果在10时是负的,那么在真正取的时候就减1,那么就使4了,还有记的既然不要汉字,就不负数不输出。
比如字符串 "活动,123@A好"。你输入4时,就应该输出 ",1"。思路应该是正确的。
具体算法 楼主自己实现霸。我这个思路解决了oracle 中文显示问题!
(后记,如果输入的标点符号是中文的,上述情况下 输出 "1")


记得给分!!
点击"管理帖子" 在蓝色主题 右上方.然后给分巴


好吧我改了一下:

private static String cut(String str, int len) {
String retstr = str.substring(0, Math.min(len, str.length()));
while(retstr.getBytes().length > len) {
retstr = retstr.substring(0, retstr.length() - 1);
}
return retstr;
}

我的方法我试过的,我的结果是:

cut("中3国567", 4) = "中3" //“国”字算一半
cut("中3国567", 7) = "中3国56"
cut("中华人民234共和国", 5) = "中华" //“人”字算一半

如果不对的话,莫非楼主的真实意思是“只要解决汉字在最后的情况,不要处理中间的情况”?



是的,一个汉字是两个长度.


请问:Math.min(len, str.length()是什么意思?

gzpoplar(poplar)
等你的答案!!!


↑返回目录
前一篇: 类中的方法存储在什么地方?
后一篇: 1, 一个java对象的地址如何获取?2,该地址与该对象的hashCode()返回值有什么联系?