2017-02-07 26 views
1

私はスピーチの一部のデータフレームを持つが、文字列 例をタグ付けする前に単語を抽出します出力正規表現は特殊文字

best phone only issue camera sensor have mind own 

私はRを使用していますが、gsub関数に適切な正規表現が見つかりませんでした。 私はこれを試しました。

sentence= c("best_JJS phone_NN only_RB issue_NN camera_NN sensor_NN have_VB mind_NN own_JJ") 
o1=gsub("\\_.*","",sentence, perl = T) 

しかし、最初のアンダースコアの後の文字列全体が削除されます。事前のおかげ

答えて

1

にあなたはgsub_[A-Z]+ TREパターンを使用することがあります。

sentence <- c("best_JJS phone_NN only_RB issue_NN camera_NN sensor_NN have_VB mind_NN own_JJ") 
gsub("_[A-Z]+","",sentence) 
[1] "best phone only issue camera sensor have mind own" 

R demo

を参照してください_[A-Z]+パターンは、アンダースコア(_、それは正規表現でエスケープする必要はありませんのでご注意と一致しましたパターン)と1つまたは複数の(+)大文字のASCII文字([A-Z])です。

あなたはそれが単語の文字で始まる単語の境界に続く場合にのみ、大文字と一致している場合のみに_と一致し、たとえば、パターン、さらに正確なことがあります。

"\\B_[A-Z]+\\b 

あなたがしたい場合POS値のための非常に特定の正規表現を作成するには、交替使用することができます:

"\\B_(JJ|NN|CC|[VR]B)\\b" 

をそして、正規表現パターンに|<code>を追加し続けます。

+1

ありがとうございます!それは大きな助けとなりました。 –

+0

@ WiktorStribiżew:申し訳ありません。私はまだこのフォーラムを効果的に使う方法を考え出しています。もう一度感謝します。 –

関連する問題