gpt4 book ai didi

java - 不知道如何使用替换

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

我有一个如下所示的字符串

<a name="1.F"></a>

我试图仅提取值名称值。我用来完成此操作的正则表达式是。

搜索字符串

<a name=\"(\d)+(\.)(\w)+\"?>

替换字符串

$1$2$3

结果:这里我得到的结果是介于**之间的结果

搜索结果:

**<a name="1.F">**</a>

当前替换结果:

1.F</a>

预期替换结果:

1.F

请告诉我,我们怎样才能得到预期的结果。

谢谢

最佳答案

鉴于您的示例,您为什么不寻求一个简单的解决方案?就像:你的值被双引号括起来 - 所以只需使用这些知识并捕获这两个“引号”之间的所有内容。

import java.util.regex.*;

public class RegexTest {

public static void main(String args[]) {
String s = "<a name=\"1.F\"></a>";
Pattern p = Pattern.compile("<a name=\\\"(.*)\\\"");
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println(m.group(1));
}
}
}

打印:

1.F

你看,你甚至不需要正则表达式,你可以使用 String.indexOf()以快速获取该引号的位置。

如果另一方面,您的示例只是简化了,而您的实际输入非常复杂(例如:真正的 HTML 或 XML)...那么首先就忘记使用正则表达式(请参阅 here )为什么会这样)。

关于java - 不知道如何使用替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40760278/

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