Zac*_*ach 2 java arrays numbers list
我正在尝试删除诸如“我”之类的东西。“二。” “279”(页码和章节)等来自故事“罗宾汉”的文本文件。到目前为止我不知道如何摆脱数字(是arraylist一个字符串)
for (int x = 0; x < list.size(); x++) {
if (list.get(x).equalsIgnoreCase("I.") || list.get(x).equalsIgnoreCase("II.") || list.get(x).equalsIgnoreCase("III.") || list.get(x).equals("IV.") || list.get(x).equals("V.") || list.get(x).equalsIgnoreCase("VI.") || list.get(x).equalsIgnoreCase("VII.") || list.get(x).equalsIgnoreCase("VIII.") || list.get(x).equals("IX.") || list.get(x).equals("X.") || list.get(x).equals("XI.") || list.get(x).equalsIgnoreCase("XII.") || list.get(x).equalsIgnoreCase("XIII.") || list.get(x).equalsIgnoreCase("XIV.") || list.get(x).equalsIgnoreCase("XV.") || list.get(x).equalsIgnoreCase("XVI.") || list.get(x).equalsIgnoreCase("XVII.") || list.get(x).equalsIgnoreCase("XVIII.") || list.get(x).equalsIgnoreCase("XIX.") || list.get(x).equalsIgnoreCase("XX.") || list.get(x).equalsIgnoreCase("XXI.")) {
list.remove(x);
numWords--;
}
for (int y = 0; y < 9; y++) {
if (list.get(x) == y) {
list.remove(x);
numWords--;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我知道我正在查看是否存在错误,y == list.get(x)但我真的想不出另一种方法来删除数字。
if你也许可以做一些类似的事情,而不是发表那么大的声明
if (list.get(x).toUpperCase().matches("[IVXLCDM]+\\.")) {...}
Run Code Online (Sandbox Code Playgroud)
[IVXLCDM]匹配I, V.. M- 因此[IVXLCDM]+匹配这些字符的任何连续字符串。确保\.字符串以句点结束。
现在,如果您想匹配数字,您可以使用正则表达式"\\d+",并应用与上面相同的想法。