如何在每两个标签之间获得一些文字(<tagname></tagname>
),并在更改了这两个标签的文本后我需要完整的字符串以及更改 .think,这是java字符串内容。
<小时/> “Lorem ipsum dolor
<tagname>text to be changed 1</tagname>
amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam,quis nostrud <tagname>text to be changed 2</tagname>
laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in repreptderit in velptate velit esse cillum dolore eu fugiat nulla pariatur。Excepteur sint <tagname>text to be changed 3</tagname>
cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum。“
应该是这样的
<小时/> “Lorem ipsum dolor<tagname>text changed 1</tagname>
amet,consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam,quis nostrud <tagname>text changed 2</tagname>
laboris nisi ut aliquip ex ea commodo consequat.Duis aute irure dolor in repreptderit in velptate velit esse cillum dolore eu fugiat nulla pariatur。Excepteur sint <tagname>text changed 3</tagname>
cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum。“
实际上我需要一个像这样的方法,
String getChangedString(String toBeChanged){
//process
return changedString;
}
我怎么能得到这个。
感谢。
答案 0 :(得分:2)
String getChangedString(String toBeChanged){
String changedString = toBeChanged;
while (changedString.indexOf("<tagname>") >= 0)
{
changedString = changedString.substring(0, changedString.indexOf("<tagname>")) +
"whatever replacement string" +
changedString.substring(changedString.indexOf("</tagname>") + "</tagname>".length());
}
return changedString;
}
答案 1 :(得分:1)
假设标签位于XML文件中,您应该使用现有的XML解析器之一,例如DOM或SAX,而不是重新发明轮子。
答案 2 :(得分:1)
我一直在寻找相同的,也许这个问题可以帮到你,看看: Java regex to extract text between tags
它使用正则表达式来获取标记之间的文本内容。就我而言,我有兴趣从我的xml上找到的第一个标签中获取文本,而不是从每个标签中获取文本
答案 3 :(得分:1)
在org.apache.commons.lang.StringUtils中有一个完美的基于字符串解析的实用程序,下面的代码对我来说非常合适。
String title = StringUtils.substringBetween(testHtml, "<title>", "</title>");
System.out.println("title:" + title); // good