Abd*_*d A 5 java string java-8 javafx-8
当长度为 35 时,我想拆分像“仅卢比 241 和 68 卢比”这样的字符串,我想将此字符串拆分为 2。我尝试使用此代码拆分字符串。
String text = "Rupees Two Hundred Forty One and Sixty Eight only";
List<String> parts = new ArrayList<>();
int length = text.length();
for (int i = 0; i < length; i += 35) {
parts.add(text.substring(i, Math.min(length, i + size)));
Run Code Online (Sandbox Code Playgroud)
但输出是这样的。
[Rupees Two Hundred Forty One and Si, xty Eight only]
但我想像这样拆分字符串。
[Rupees Two Hundred Forty One and, Sixty Eight only]
分割字符串时没有切词。字符串根据账单金额每次都不同。
你可能无法完全做到这一点。但是使用 String.indexOf() 找到从 35 开始的第一个空格。然后使用 substring 方法来划分字符串。
String text = "Rupees Two Hundred Forty One and Sixty Eight only";
int i = text.indexOf(" ", 35);
if (i < 0) {
i = text.length();
}
String part1 = text.substring(0,i).trim();
String part2 = text.substring(i).trim();
Run Code Online (Sandbox Code Playgroud)
这是一种替代方法。尚未对边境案件进行全面检查。
String[] words = text.split(" ");
int k;
part1 = words[0];
for (k = 1; k < words.length; k++) {
if (part1.length() >= 35 - words[k].length()) {
break;
}
part1 += " " + words[k];
}
if (k < words.length) {
part2 = words[k++];
while (k < words.length) {
part2 += " " + words[k++];
}
}
System.out.println(part1);
System.out.println(part2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |