gpt4 book ai didi

Java 正则表达式 ReplaceAll 与分组

转载 作者:行者123 更新时间:2023-12-02 05:14:13 25 4
gpt4 key购买 nike

我想通过以下方式用标签包围文本中的所有标记:

输入:" abc fg asd "

输出:" <token>abc</token> <token>fg</token> <token>asd</token> "

这是我到目前为止尝试过的代码:

String regex = "(\\s)([a-zA-Z]+)(\\s)";
String text = " abc fg asd ";
text = text.replaceAll(regex, "$1<token>$2</token>$3");
System.out.println(text);

输出:" <token>abc</token> fg <token>asd</token> "

注意:为了简单起见,我们可以假设输入以空格开头和结尾

最佳答案

使用lookaround :

String regex = "(?<=\\s)([a-zA-Z]+)(?=\\s)";
...
text = text.replaceAll(regex, "<token>$1</token>");

关于Java 正则表达式 ReplaceAll 与分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27107484/

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