2

对于我的应用程序,我创建了一个 QR 码,然后获取该位图并将文本添加到位图中,但是我需要文本不要延伸得比位图更长。所以我想要做的是通过取 25 个字符创建一个文本数组,然后在该 25 个字符部分中找到 (" ") 的最后一个索引。在那个空间,我希望能够用 \n 替换那个空间来开始一个新行。

所以计划是如果我有一个看起来像“ Hello this is my name and I am longer than 25 charters and I have lots of spaces so that this example will work well.”的字符串

我想让它出来

Hello this is my name and
I am longer than 25 
charters and I have lots 
of spaces so that this 
example will work well.

为了做到这一点,我数了 25 个字符,然后回到最讨厌的空间,此时我按 Enter,我希望我的应用程序为我执行此操作。

我的英语不是很好,所以如果有什么不明白的地方告诉我,我会尽力解释。谢谢

4

2 回答 2

3

我尚未对此进行测试,但您可以尝试并根据需要进行调整

String fullText = "your text here";
String withBreaks = "";
while( fullText.length() > 25 ){
    String line  = fullText.substring(0,24);
    int breakPoint = line.lastIndexOf( " ");
    withBreaks += fullText.substring(0,breakPoint ) + "\n";
    fullText = fullText.substring( breakPoint );
withBreaks += fullText;
于 2012-08-20T18:58:14.120 回答
0

char [] 方式(更像 C):

 public static String reduceLength(String s, int len){
    char [] c = s.toCharArray();
    int i=len, j=0, k;
    while(true){
     for(k=j; k<=i; k++){
         if (k >= s.length()) return new String(c);
         if (c[k] == ' ') j=k;
     }
     c[j] = '\n';
     i= j+ len;
    }
}

这不安全,只是我拼凑的东西。

于 2012-08-20T19:20:25.787 回答