在大多数情况下,将正则表达式与 html 一起使用是不好的做法,但如果您必须使用它,那么这里是一种解决方案。
所以首先你可以在 name="XXX" 属性中找到文本。可以通过使用这个 regex 来完成(?<=name=")[a-zA-Z_]+(?=")
。当你找到它时,将“_”替换为“”,并且不要忘记将其余字母小写。现在您可以使用我们之前使用的相同正则表达式将旧值替换为新值。
这应该可以解决问题
String html="<input type=\"text\" name=\"HCFA_DETAIL_SUPPLEMENTAL\" value=\"\" size=\"64\"/>";
String reg="(?<=name=\")[a-zA-Z_]+(?=\")";
Pattern pattern=Pattern.compile(reg);
Matcher matcher=pattern.matcher(html);
if (matcher.find()){
String newName=matcher.group(0);
//System.out.println(newName);
newName=newName.toLowerCase().replaceAll("_", "");
//System.out.println(newName);
html=html.replaceFirst(reg, newName);
}
System.out.println(html);
//out -> <input type="text" name="hcfadetailsupplemental" value="" size="64"/>