1

各 2 つのタグ ( ) の間にテキストを取得するにはどうすればよいですか<tagname></tagname>。これら 2 つのタグのテキストを変更した後、変更とともに完全な文字列が必要です。これは Java 文字列コンテンツです。

変更前


「Lorem ipsum dolor <tagname>text to be changed 1</tagname>amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut laboure 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 reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Exceptioneur sint <tagname>text to be changed 3</tagname>cupidatat non proident, sunt in culpa qui office deserunt mollit anim id est labourum."


変更後、次のようになります


「Lorem ipsum dolor <tagname>text changed 1</tagname>amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut laboure 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 reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Exceptioneur sint <tagname>text changed 3</tagname>cupidatat non proident, sunt in culpa qui office deserunt mollit anim id est labourum."


実際には、このような方法が必要です。

String getChangedString(String toBeChanged){
   //process
   return changedString;
}

どうすればこれを入手できますか。

ありがとう。

4

4 に答える 4

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;
}
于 2012-10-02T06:53:14.113 に答える
1

私は同じものを探していました。おそらく、この質問があなたを助けることができます。見てください: Java regex to extract text between tags

正規表現を使用して、タグ間のテキスト コンテンツを取得します。私の場合、各タグからではなく、xml で見つかった最初のタグからテキストを取得することに興味がありました。

于 2012-10-26T19:40:27.440 に答える
1

タグが XML ファイル内にあると仮定すると、車輪を再発明するのではなく、DOM や SAX などの既存の XML パーサーのいずれかを使用する必要があります。

于 2012-10-02T07:26:36.437 に答える
1

org.apache.commons.lang.stringutilsで利用可能な完璧な文字列解析ベースのユーティリティがあります。

String title = StringUtils.substringBetween(testHtml, "<title>", "</title>");
System.out.println("title:" + title); // good
于 2016-03-15T10:38:41.037 に答える