4 回答
TA贡献1871条经验 获得超13个赞
如果您的列表是 a List<String>,您可以这样做:
for (for int i = 0, i < yourList.size(), i++) {
yourList.set(i, yourList.get(i).replaceFirst(" ", "="));
}
此处提供其他循环方式:https ://crunchify.com/how-to-iterate-through-java-list-4-way-to-iterate-through-loop/
TA贡献1828条经验 获得超6个赞
你也可以使用 Stream API。例如,如果您想过滤所有无效字符串
List<String> registrations = new ArrayList<>(5);
registrations.add("BIA powiat białostocki");
registrations.add("BBI powiat bielski");
registrations.add("BGR powiat grajewski");
registrations.add("BGGHND");
registrations.add("CT Toruń etc.");
registrations = registrations.stream()
.filter(registration -> registration.split(" ").length>1)
.map(registration -> registration.replaceFirst(" ","="))
.collect(Collectors.toList());
输出:
BIA=powiat białostocki
BBI=powiat bielski
BGR=powiat grajewski
CT=Toruń etc.
TA贡献1810条经验 获得超5个赞
如果您使用的是 ArrayList 或 HashSet,您可以使用两种方式:
仅供参考:假设您的列表名称是registrationList并且它包含 Objects names Registration
要么是一个 for 循环:
for(Registration registration : registrationList){
registration.replaceFirst(" ", "=");
}
或者您可以使用流:
registrationList.stream.forEach(registration-> registration.replaceFirst(" ", "="));
TA贡献1812条经验 获得超5个赞
如果您在 txt 文件中有所有行并且您想通过替换第一个空格来修改它,=您可以使用流 API,例如:
List<String> collect = Files.lines(Paths.get(PATH_TO_FILE)).stream()
.map(s -> s.replaceFirst(" ", "="))
.collect(toList());
Files.write(PATH_TO_FILE, collect, StandardOpenOption.CREATE);
看更多StandardOpenOption
添加回答
举报