2017-06-28 12 views
1

私は長い間私を混乱させる質問があります。疑問符で始まるパターンを削除するにはどうすればよいですか?例えばR:疑問符で始まるパターンを削除するには

## dataframe named test 
x y 
1 gffsd?lang=dfs 
2 sdldfsd?lang=gsd 
3 eoriwesd?lang=fh 
4 eriywo?lang=asd 

私が欲しいのです:

x y 
1 gffsd 
2 sdldfsd 
3 eoriwesd 
4 eriywo 

私はを含むいくつかの方法で、試してみました:

test$y = sapply(strsplit(test$y, '?'), head, 1) 
test$y = sapply(strsplit(test$y, '?lang='), head, 1) 
gsub("?",NA, test$y, fixed = TRUE) 

残念ながら、それらのすべてが失敗しました。

ありがとうございます!

ところで、誰もが「®」とを交換する方法を知っている「 - 」

+0

いくつかの調査を行っていますか?そう多くの例があります。 [this](https://stackoverflow.com/questions/10617702/remove-part-of-string-after)、[this](https://stackoverflow.com/questions/31836750/removing-everything-after-a) -character-in-a-column-in-r)、[this](https://stackoverflow.com/questions/26611922/remove-everything-after-a-string-in-a-data-frame-column-値の欠落)など。StackOverflowは、Google検索サービスではありません。 –

+0

私はした、私が使用した方法は検索された結果からのものでした。あなたが見ることができる、彼らは動作しませんでした。 – BigD

+0

検索結果に 'sapply'に関連するものはありません。 –

答えて

5

gsubは右正規表現を扱うことができます。

test$y = gsub("\\?.*", "", test$y) 
test 
    x  y 
1 1 gffsd 
2 2 sdldfsd 
3 3 eoriwesd 
4 4 eriywo 

"\\?"という疑問符をエスケープする必要があります。 「。*」は疑問符の後ろのすべてを削除することを意味します。

あなたの2番目の質問はgsubです。

string = 'anybody knows how to replace ® to -' 
gsub("®", "-", string) 
[1] "anybody knows how to replace - to -" 
+0

Rは "®"を認識します!私はこのシンボルに特別な文字列を使う必要があると思った。どうもありがとう! – BigD

関連する問題