Rにデータセットがあります。
"Pppppp;Ccccccccc;Ooooo;My_string;Ggggggg;"
Mystringを維持したいです(以前とそれ以降のすべての内容が削除されるように)。私の文字列は常に3番目の ";"後ろに来ます。 Pppppp、Ccccc、Oooo、Gggggは行ごとに長さが異なります。
これを行う方法を知っていますか?
スキーマを生成しようとしています。
gsub(pattern="\\w[;]{3}", replacement="")
しかし、私はいつも文字列の代わりに ";"を削除します。
タブ区切りファイルではありません。
ありがとう
答え1
文字列は常に左から右に3番目の ";"次回は始まりますか?また、「タブ区切りファイルではありません」とはどういう意味ですか? Rでは、区切り文字 ";"を使用してテーブルにインポートできます。それは次のとおりです。
tmp <- read.table("your.file.txt", sep=";", header=F)
次に、4番目の列(つまり3番目の「;」の次の列)を選択します。
my_strings <- tmp$V4
Rを使うことです。
答え2
あなたの質問を理解したかどうかはわかりませんが、次のようにすれば目標を達成できると思います。
awk -F ";" '{OFS=";";print $1,$2,$3,$4}' input_file