如何用Java将字符串定界为一定长度的字符串?

How to delimit a string to a string with certain length with Java?

我有一个很长的字符串。我有一个只能支持 20 个字符的字符串的函数 write(String str)。如何将我的长字符串切割成 20 个字符的字符串并在我的 write() 函数中循环?

对不起,我做了什么:

for(String retval: pic.split("",20)) {
mBluetoothLeService.writeCharacteristic(characteristic, retval)

pic 是我的长字符串。然而,这样做并没有按照我的意愿行事

提前致谢!

使用susbtring()方法:

这样你就可以得到前 20 个字符:

pic = pic.substring(0, 21)

这里使用String的arraylist,并且使用substring,支持20个以上的字符

String pic = "THIS IS A VERY LONG STRING MORE THAN 20 CHARS";

ArrayList<String> strings = new ArrayList<String>();
int index = 0;

while (index < pic.length()) {
strings.add(pic.substring(index, Math.min(index + 20,pic.length())));
    index += 20; //split strings, add to arraylist
}

for(String s :strings){
    mBluetoothLeService.writeCharacteristic(characteristic, s); //write the string 
}

或者,更好的是,使用正则表达式:

for(String s : pic.split("(?<=\G.{20})"))
    mBluetoothLeService.writeCharacteristic(characteristic, s);