2016-06-22 16 views
5

位置に基づいて文字列を削除する機能を探しています。文字列の特定の位置から文字を削除する機能を利用できます。

は、例えば、与えられた文字列は、その

string1 <- "hello stackoverflow" 

のようにすると仮定ですが、私は4日、10日と18日ポジションを削除したいです。

優先出力

"helo stakoverflw" 

私はそのような機能の存在について確認していません。

+0

みなさん、こんにちは:

また、これを行う関数を書くことができます。私は既存の機能に非常に関心があります。私は1ライナーも書くことができます。おそらく**私は1ライナーを探しています。**ここでは混乱しました。そのために残念。 – user2100721

+0

既存の関数ではなく、あなたが望むような独自の関数を書くことができますか? –

+1

残念ながら、既存の機能はないようです。 Rは、Pythonのように1文字の要素のベクトルとして文字列を格納しません。 – Frank

答えて

3

これは私のために働いた。

string1 <- "hello stackoverflow" 
paste((strsplit(string1, "")[[1]])[-c(4,10,18)],collapse="") 
[1] "helo stakoverflw" 

Iは、文字のベクトルに文字列を分割するstrsplitを使用し、次に文字列に戻って一緒にのみ、所望の文字を貼り付けます。

delChar <- function(x,eliminate){ 
    paste((strsplit(x,"")[[1]])[-eliminate],collapse = "") 
} 

delChar(string1,c(4,10,18)) 
[1] "helo stakoverflw" 
+2

このアプローチでは、 -c(4,10,18)]、sep = ""、collapse = "") 'を削除したい文字を指定します。 –

+1

あなたのコメントが投稿されたとき、ハハはその権利を文字通り変更しました。 'c(-3)'ではなく '-c()'の良い点です。 –

+3

'paste((strsplit(string1、" "[[1]))[c(-4、-10、-18)]、collapse =" ")'は十分に良いはずです。 'sep'と' collapse'の両方です。 – Psidom

関連する問題