如何对一个字符串"定长"地插入换行符?
不知道怎么描述好,给个例子吧,
给定一个字符串,可能包括中英文数字特殊符号等,比如
“啊啊啊啊啊啊啊aaaaaaaaaaaaaa啊啊啊aaaaaaaa啊啊啊啊啊啊啊”
要求变成
“啊啊啊啊啊啊啊\naaaaaaaaaaaaaa\n啊啊啊aaaaaaaa\n啊啊啊啊啊啊啊”
使它能够以一定的长度来换行,如下:(注意是定长,不是定字数)
啊啊啊啊啊啊啊
aaaaaaaaaaaaaa
啊啊啊aaaaaaaa
啊啊啊啊啊啊啊
不用代码,给个思路就行,解决了立刻结贴给分!
[解决办法]
http://www.java2000.net/viewthread.jsp?tid=2519
[解决办法]
按字符數分
一個漢字是多少字符
一個字母是多少字符
[解决办法]
用SUBSTR按一定度取字符串,在拼接起来即可了!!
[解决办法]
你可以求出给定字符串中各个最大子串,在每一个字串中插入特定字符
同样,老紫竹的方法也可以
[解决办法]
把原串按长度拆分,然后每个子串尾部添加\n,然后拼起来
[解决办法]
Web 还是 Swing/AWT ?
[解决办法]
如果你是输入框输入的(输入的时候,你在什么地方按回车),然后用label 来显示的话,它就是以什么形式显示的
用以下代码:
string s = " ";
s = Request.Form["tbtext"].Replace(" ", " ");
s = Request.Form["tbtext"].Replace('\n'.ToString(), "<br>");
label.text=s;
[解决办法]
我试过,FF3可以自动换行,楼主还是把代码贴出来吧,好用来测试。用 CSS 应该可以解决。
[解决办法]
substring();就可以了.
[解决办法]
java中一个汉字也可疑定义为char
[解决办法]
public class Test { public static void main(String[] args) { String str = "啊啊啊啊啊啊啊aaaaaaaaaaaaaa啊啊啊aaaaaaaa啊啊啊啊啊啊啊" + "使它能够以一定的长度来换行,如下:(注意是定长,不是定字数)"; str = toMultiLine(str, 16); System.out.println(str); } public static String toMultiLine(String str, int len) { char[] chs = str.toCharArray(); StringBuffer sb = new StringBuffer(); for(int i = 0, sum = 0; i < chs.length; i++) { sum += chs[i] < 0xff ? 1 : 2; sb.append(chs[i]); if(sum >= len) { sum = 0; sb.append("\n"); } } return sb.toString(); }}
[解决办法]
17楼的方法不错,学习了~
[解决办法]
不过1个中文是占2个字节吧,和char一样呢~
[解决办法]
先转换成byte
一个汉字占四个字节。一个字母占两字节的方式。就可以了
[解决办法]
我认为换成 byte 不是一个好的方法,因为汉字在 GBK 时采用两个字节进行编码,
而在 UTF-8 时至少得采用三个字节进行编码。