-1

R(XMLパッケージ)を使用して1つのxmlを解析しています。XML には次のマークアップがあります。

 <  &lt;
 >  &gt;
 &  &amp;

Input Text: 
       My age is &amp;gt; 65 years years. 

       output: My age is gt;65 years.

期待される結果: 私の年齢は 65 歳以上です。

  How to get 2-step(1) for converting &amp; into & (2)  &gt; into '>' ? 
4

2 に答える 2

3
sub("&gt;" , ">", 
          sub("(&amp;)", "&", 
                "My age is &amp;gt; 65 years.") )
[1] "My age is > 65 years."
于 2013-01-21T06:34:34.453 に答える
2

このような関数を書くことができます

batchgsub <- function(patternmatrix, string) {
    for (i in 1:nrow(patternmatrix)) {
        p = patternmatrix[i,1]
        r = patternmatrix[i,2]
        string <- gsub(p,r,string)
    }
    return(string)
}

このように置き換えるパターンを指定します

> pm
     [,1]    [,2]
[1,] "&amp;" "&" 
[2,] "&gt;"  ">" 

次に、必要な回数だけ置換を「チェーン」できます。

> s <- "My age is &amp;gt; 65 years."
> batchgsub(pm, s)
[1] "My age is > 65 years."
于 2013-01-21T07:27:51.107 に答える