删除(或替换)R字符串中指定字符之后的所有内容

时间:2018-09-23 23:17:00

标签: r regex

我有一列字符串,我想删除最后一个'。'之后的所有内容。

我尝试过:

sub('\\..*', '', x)

但是我的问题是,对于某些the,有x2'。并且仅适用于x1'。 例如

ENST00000338167.9
ABCDE.42927.6

如何仅删除最后一个'。'之后的字符?? 这样我就可以了:

ENST00000338167
ABCDE.42927

非常感谢!

2 个答案:

答案 0 :(得分:1)

我们可以使用var paragraph = 'C:\\Users\\susan ivey\\Documents\\VKS Projects\\secc-electron\\src\\views\\main.jade'; var splittedString = paragraph.split("secc-electron"); // returns an array of 2 element containing "C:\\Users\\susan ivey\\Documents\\VKS Projects\\" as the first element and "\\src\\views\\main.jade" as the 2nd element console.log(splittedString[1]);来匹配sub(由于它是任何字符的元字符,因此都被省略),后跟0个或多个不是.的字符({{1} })到字符串的末尾(.)并将其替换为空白([^.]*

$

或使用""中的sub("\\.[^.]*$", "", x) #[1] "ENST00000338167" "ABCDE.42927"

str_remove

数据

stringr

答案 1 :(得分:1)

另一种方法是通过“捕获”之前的零件。

sub("(.*)\\..*", "\\1", x)