gpt4 book ai didi

Java 正则表达式,用于更改字符串的每个单词中的每个第 i 个索引

转载 作者:行者123 更新时间:2023-11-29 07:09:39 25 4
gpt4 key购买 nike

我编写了一个正则表达式 \b\S\w(\S(?=.)) 来查找单词中每隔三个符号并将其替换为“1”。现在我正在尝试使用这个表达式,但真的不知道如何正确使用它。

Pattern pattern = Pattern.compile("\\b\\S\\w(\\S(?=.))");
Matcher matcher = pattern.matcher("lemon apple strawberry pumpkin");

while (matcher.find()) {
System.out.print(matcher.group(1) + " ");
}

所以结果是:

m p r m

我怎样才能用它来制作这样的字符串

le1on ap1le st1awberry pu1pkin

最佳答案

你可以使用这样的东西:

"lemon apple strawberry pumpkin".replaceAll("(?<=\\b\\S{2})\\S", "1")

将生成您的示例输出。正则表达式将替换前面有两个非空格字符然后是单词边界的任何非空格字符。

这意味着像 12345 这样的“词”会变成121453匹配\\S (不是空格)。

编辑:更新了正则表达式以更好地迎合修改后的问题标题,更改 2i-1替换单词的第 i 个字母。

关于Java 正则表达式,用于更改字符串的每个单词中的每个第 i 个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15242658/

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