Gsub 将字符串保留在 ; 之间

Gsub 将字符串保留在 ; 之间

我在 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

相关内容