对于我的应用程序,我创建了一个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个字符,然后回到了最重要的空间,此时我点击了输入,我希望我的应用程序为我做这个。
我不是很擅长英语,所以如果有什么不合理的话告诉我,我会尝试解释它。感谢
答案 0 :(得分: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;
答案 1 :(得分: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;
}
}
这不安全,只是我扔在一起的东西。