[英]Java How to split String and delete a part of it?
我有一个这样的字符串(List <String> titles)
:
"xxxl54.AE",
"xxxl56.AP",
"xxxl57.AE",
"xxxl58.VP",
"xxxl59.WR",
"xxxl56.SD"
但我想得到这个:
"xxxl54",
"xxxl56",
"xxxl57",
"xxxl58",
"xxxl59",
"xxxl56"
如何删除点右侧的部分?
您需要使用默认字符串方法String.ZE83AED3DDF4667DEC0DAAAACB2BB3BE0BZ和String.indexOf的组合
要修改列表的每个项目,您可以使用stream().map并将其再次保存为修改后的列表collect(Collectors.toList())
List <String> titles = new ArrayList<>();
titles.add("xxxl54.AE");
titles = titles.stream().map(it -> it.substring(0, it.indexOf("."))).collect(Collectors.toList());
但要小心 - 如果其中一项没有“。” 在其内容中,您需要单独处理:
List <String> titles = new ArrayList<>();
titles.add("xxxl54.AE");
titles.add("xxxl00AE");
titles = titles.stream().map(it -> {
int dotIndex = it.indexOf(".");
if(dotIndex != -1) {
it.substring(0, dotIndex);
}
return it;
}).collect(Collectors.toList());
如果要替换原始列表中的字符串:
titles.replaceAll(e -> e.split("\\.")[0]);
例子:
List<String> titles = new ArrayList<>();
titles.add("xxxl54.AE");
titles.add("xxxl56.AP");
titles.add("xxxl57.AE");
System.out.println("Before: " + titles);
titles.replaceAll(e -> e.split("\\.")[0]);
System.out.println("After: " + titles);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.