如何用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);
我有一个很长的字符串。我有一个只能支持 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);