java - 即使没有值,也保存部分字符串拆分

标签 java arraylist split

我想拆分字母 A 上的单词行。例如:AoAoAoA 应该生成 [o, o, o],我的代码就是这样做的。但问题是单词在两个 A 之间没有字符,例如:AoAA 只会导致 [o]。如何调整我的代码以使结果变为 [o,]?

这是因为我想看看分隔符之间是否有等量的相同字符。如果有,就会发生一些事情,如果没有,就会发生其他事情。 “AoAA”在 A 之间没有等量的“o”,因此应这样对待。

List<String> myList = new ArrayList <>();
String row = scanner.nextLine();
String [] splitString = row.split ("A");

for (String s : splitString) {
if (!s.equals(splitString[0])) {
myList.add(s);
}}

附言。我知道我的问题似乎是重复的,我已经尝试了几种与我的问题类似的解决方案,但由于某种原因它们没有解决我的问题。例如,通过简单地添加 split(string, int),并没有为我解决任何问题。

最佳答案

我能想到的一种方法是在实际拆分字符串之前先删除所有前导或尾随 A:

String[] result = input.replaceAll("^A|A$", "")
                       .split("A", -1);

这是因为前导和尾随 A 导致字符串两端出现空拆分。如果我们先删除那些 A,那么我们将不会得到任何不希望的拆分。

关于java - 即使没有值,也保存部分字符串拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56724373/

相关文章:

java - 在 droid 中,我如何不仅捕获异常

sql-server - SQL Server : split a column into multiple columns (tabular format)

java - 检测 2D 图形填充矩形是否在另一个填充矩形中(eclipse)

java - 使用 GeckoDriver 和 Firefox 执行代码时 org.openqa.selenium.firefox.NotConnectedException : Unable to connect to host 127. 0.0.1

java - ArrayList克隆仍然被引用?

c# - 如何在控制台中将我的项目对齐在同一行?

java - 删除特定对象在 Java ArrayList 中不起作用

javascript - jquery - 使用 split 仅分割文本?

c++ - 迭代一个字符串,但将分隔符保留在子字符串中,包括其他规则

java - Java动态代理的性能成本