parseStr static method
将字符串解析成集合 使用 parseStrPlus 代替
Implementation
@deprecated
static List<String> parseStr(String? string) {
if (StringUtils.isEmpty(string)) {
return [];
}
List<String> contents = [];
///记录移动的指针
int lastPosition = 0;
var length = string!.length;
int point = 0;
for (point; point < length; point++) {
if (lastPosition > point) {
point = lastPosition;
} else {
lastPosition = point;
}
var char = string.substring(point, point + 1);
if (StringUtils.isChinese(char)) {
lastPosition++;
contents.add(char);
} else if (StringUtils.isAz(char)) {
///如果是字母 则假的后面都为字母,把当前单词提取出来。
var tempString = string.substring(point);
StringBuffer buffer = StringBuffer(char);
for (int j = 1; j < tempString.length; j++) {
var tempChar = tempString.substring(j, j + 1);
lastPosition++;
if (StringUtils.isAz(tempChar)) {
buffer.write(tempChar);
} else {
point = lastPosition - 1;
break;
}
}
contents.add(buffer.toString());
} else if (StringUtils.isNum(char)) {
///思路同英文单词一样
var tempString = string.substring(point);
StringBuffer buffer = StringBuffer(char.toString());
for (int j = 1; j < tempString.length; j++) {
var tempChar = tempString.substring(j, j + 1);
lastPosition++;
if (StringUtils.isNum(tempChar)) {
buffer.write(tempChar.toString());
} else {
point = lastPosition - 1;
break;
}
}
contents.add(buffer.toString());
} else {
contents.add(char);
}
}
return contents;
}