2017-02-05 16 views
0

私は文字列を持っています。 (a)分数で "/"を保持し、(b)単語の間にある "/"の周りに空白を挿入し、(c)他のすべての "/"を削除したいRの例外を含む文字列を削除するには?

s = "/// ///1/2 111/222 a/b abc/abc a/b/// ///" 

結果は次のようになります。

s = "1/2 111/222 a b abc abc a b" 

私はいくつかのことを試しました。私はすべてを正しいものにすることはできません。

答えて

2

私は正規表現の専門家ではありませんが、これはあなたの例では動作するようです。

s = "/// ///1/2 111/222 a/b abc/abc a/b/// ///" 

i <- gsub("/{2,}|/\\s", "", s) 
i <- trimws(gsub("([[:alpha:]]{1,})(/)([[:alpha:]]{1,})", "\\1 \\3", i)) 
i <- gsub("\\s{2,}", " ", i) 

identical(i, "1/2 111/222 a b abc abc a b") 

[1] TRUE 
関連する問題