gpt4 book ai didi

java - 使用replaceAll一定次数

转载 作者:行者123 更新时间:2023-12-02 11:17:42 24 4
gpt4 key购买 nike

我使用replaceAll只列出某个字符串中的数字,我想知道是否有办法限制它替换的次数。例如:

String s = "1qwerty2qwerty3";
s = s.replaceAll("[^0-9]+", " ");
System.out.println(Arrays.asList(s.trim().split(" ")));

这将过滤掉字符串中的所有数字,给出结果:[1, 2, 3]。我想知道是否有办法代替得到结果 [1, 2]。因此,基本上该方法找到两个数字并停止。感谢您的帮助!

最佳答案

您的 replaceAll 正在删除所有非数字的内容,但您希望限制 split 返回的数字!相反,我会流式传输分割的结果 - 然后您可以限制并将其收集列表 >。就像,

String s = "1qwerty2qwerty3";
s = s.replaceAll("\\D+", " "); // <-- equivalent to your current regex.
System.out.println(Stream.of(s.split("\\s+")).limit(2).collect(Collectors.toList()));

输出(根据要求)

[1, 2]

而且,如果我们一开始就在非数字上分割,我们实际上可以消除一个步骤。就像,

System.out.println(Stream.of(s.split("\\D+")).limit(2)
.collect(Collectors.toList()));

关于java - 使用replaceAll一定次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50164699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com