gpt4 book ai didi

java - 正则表达式替换组

转载 作者:行者123 更新时间:2023-12-01 19:46:49 24 4
gpt4 key购买 nike

我想用一些字符替换数字之前的空格,但我无法使用以下正则表达式来做到这一点:

    String parentString = " 1.skdhhfsdl 2. hkjkj 3.234hbn,m";
String myregex = "/(\\s)[1-9]+./";
String output = parentString.replaceAll(myregex, "$1ppp");
System.out.println(output);

请帮我解决正则表达式问题。

更新

实现@CertainPerformant和@Wiktor的建议后,我的代码如下所示,

String myregex = "(\\s)[1-9]+.";
String output = parentString.replaceAll(myregex, "\n");

我希望输出像这样

1.skdhhfsdl
2. hkjkj
3.234hbn,m

但是,我目前正在得到

1.skdhhfsdl
hkjkj
234hbn,m

最佳答案

您应该使用正则表达式

\s+([1-9]+\.)

请注意,我捕获了数字部分。当您进行替换时,您通常会捕获要保留的部分。另请注意,我删除了前导斜杠和尾随斜杠,因为 Java 中不需要这些斜杠。 . 也应该被转义,就像我在这里所做的那样。

替换为\n$1,意思是“新行,然后是组1”。

String parentString = " 1.skdhhfsdl 2. hkjkj 3.234hbn,m";
String myregex = "\\s+([1-9]+\\.)";
String output = parentString.replaceAll(myregex, "\n$1");
System.out.println(output);

关于java - 正则表达式替换组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924381/

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