具有replaceFirst方法的Java循环

时间:2019-03-08 14:32:32

标签: java

这是我关于Stack Overflow的第一篇文章,请原谅! :)

我有一个包含403个波兰车牌符号和县的列表。看起来像这样:

BIA powiatbiałostocki

BBI powiat bielski

BGR powiat grajewski

CT托伦 等

我编写了一个代码,该代码使我可以将第一个空格转换为“ =”。

x = tf.cast(x, tf.float32)

我如何进行循环(for?while吗?)来更改所有403条记录?我将不胜感激任何帮助。先感谢您!

5 个答案:

答案 0 :(得分:4)

如果您的列表是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/

最佳

答案 1 :(得分:0)

您也可以使用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.

答案 2 :(得分:0)

正如您提到的如何进行循环,那么我建议首先学习Java循环语法。以下教程可能会有所帮助

https://books.trinket.io/thinkjava2/chapter6.html

https://www.codingame.com/playgrounds/6162/6-ways-to-iterate-or-loop-a-map-in-java

关于解决方案,您可以使用for / while循环或使用Stream API循环列表。这是使用流API的解决方案:

List<String> lists = new ArrayList<>();
lists.add("BAU powiat augustowski");
lists.add("BBI powiat bielski");

lists = lists.stream()
             .map(s -> s.replaceFirst("\\s", "="))
             .collect(toList());

答案 3 :(得分:0)

如果您使用的是ArrayList或HashSet,则可以使用两种方式:

Fyi:假设您的列表名称为 registrationList ,并且其中包含对象名称 注册

一个for循环:

for(Registration registration : registrationList){
    registration.replaceFirst(" ", "=");
}

或者您可以使用流:

registrationList.stream.forEach(registration-> registration.replaceFirst(" ", "="));

答案 4 :(得分:0)

如果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