我在 R 中有一个数据集:
“Pppppp;Ccccccccc;Ooooo;My_string;Ggggggg;”
我想保留 Mystring (以便删除之前和之后的所有内容)。我的字符串始终位于第三个“;”之后。 Pppppp、Ccccc、Oooo 和 Ggggg 从一行到另一行的长度不同。
知道如何做到这一点吗?
我尝试生成模式:
gsub(pattern="\\w[;]{3}", replacement="")
但我总是最终删除“;”而不是字符串......
这不是制表符分隔的文件
谢谢
答案1
你的字符串总是在第三个“;”之后从你的左到右开始?另外,“它不是制表符分隔的文件”是什么意思?您可以使用 R 中的分隔符“;”将其导入为表格。就像是:
tmp <- read.table("your.file.txt", sep=";", header=F)
然后选择第四列(即第三个“;”之后的一列):
my_strings <- tmp$V4
这是使用R。
答案2
我不确定我是否理解你的问题,但我认为你可以这样做实现你的目标:
awk -F ";" '{OFS=";";print $1,$2,$3,$4}' input_file