替换字符串列表中第一个分隔符之前的部分字符串

问题描述 投票:0回答:1

我有一个字符串列表: 列表 = {"100:250:33","100:234:590","100:250:3400".........n}

我想用另一个字符串替换此列表中所有字符串的第一部分; 例如:字符串 str = "vn433";

预期:结果列表:{"vn433:250:33","vn433:234:590","vn433:250:3400"}

使用 for 循环会很耗时,所以我可以使用流吗? 我正在使用 Java 8。 任何帮助将不胜感激。谢谢

java regex spring string java-stream
1个回答
0
投票

您可以使用

List.replaceAll
修改列表中的所有元素。要替换字符串中直到特定字符之前的所有字符,您可以使用字符串修改或正则表达式。这是使用第二个的示例:

private static final Pattern PATTERN = Pattern.compile(".*?:");

public static void main(String[] args) {

    List<String> myList = new ArrayList<>();
    myList.add("100:250:33");
    myList.add("100:234:590");
    myList.add("100:250:3400");
    
    myList.replaceAll(s -> PATTERN.matcher(s).replaceFirst("vn433:"));

    myList.forEach(System.out::println);

}
© www.soinside.com 2019 - 2024. All rights reserved.