我的名字如下.我只是想保留这部分..怎么样
>name
uc001aaa.3
uc001aac.4
uc001aae.4
uc001aah.4
uc001aai.1
uc001aak.3
uc001aal.1
uc001aam.4
uc001aaq.2
uc001aar.2
Run Code Online (Sandbox Code Playgroud)
如何使用regex或sub在R中实现此功能?
我认为这肯定是重复的,但尽管有一些gsub问题我不能轻易找到一个(例如/sf/ask/1669113141/ in-r). 更新:具有讽刺意味的是,最近的一个问题是OP几天前提出的问题,如何修剪矩阵的列名?...
无论如何,
gsub("\\.[0-9]$","",name)
Run Code Online (Sandbox Code Playgroud)
做你想要的;
\\.指定一个文字.字符(需要一个反斜杠来指定它.是文字而不是"任何字符";第二个是保护第一个字符所必需的!).正如@MatthewLundberg所指出的那样你也可以[.]在这里使用(.在字母范围内解释,而不是作为"任何字符",在范围括号内[]).[0-9] 表示"0-9范围内的单个字符"(不像您认为的那样,字符串的前9个字符)$ 意思是"字符串的结尾"因此,这将从每个字符串的末尾删除一个点加一个数字.在点之前有多少个字符并不重要.另一方面,如果您可能有多个数值,例如foo.123,您将需要"\\.[0-9]+$(+手段"前面的一个或多个模式")
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |