如何使用Java将字符串分隔为具有一定长度的字符串?

时间:2015-02-12 00:32:21

标签: java arrays string split char

我有一个非常长的字符串。我有一个函数write(String str),它只能支持一个包含20个字符的字符串。如何将我的长字符串剪切成20个字符串并在我的write()函数中循环?

对不起,我做了什么:

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

pic是我的长串。然而,这样做,它没有做我想做的事情

提前谢谢!

2 个答案:

答案 0 :(得分:1)

使用susbtring()方法:

这样你可以拥有20个第一个字符:

pic = pic.substring(0, 21)

答案 1 :(得分:1)

这里,使用字符串的arraylist,并使用子字符串,支持超过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);