【问题标题】:Cutting strings at a specific character (starting from the end) in R在R中的特定字符(从末尾开始)处剪切字符串
【发布时间】:2015-12-23 07:52:36
【问题描述】:

我想剪掉名字的最后一个点。所以数据框看起来像这样:

> df
  n        names
1 2 Musterman P.
2 3       Max A.
3 5   Chela J.I.

期望的结果如下所示:

> df
  n        names
1 2 Musterman P
2 3       Max A
3 5   Chela J.I

我尝试了多种使用 strsplit 的方法,但它不起作用:(

【问题讨论】:

  • sub("\\.$", "", df$names) 应该这样做。
  • 请注意,点并不总是最后一个字符。所以有些名字看起来像这样:Musterman P. A --> 所以期望的结果看起来像这样:Musterman P
  • @user3108348 那么为什么它无法删除你前任中的.I

标签: r substring


【解决方案1】:

删除最后一个点旁边的部分。

sub("\\.[^.]*$", "", df$names)

只删除最后一个点字符。

sub("\\.([^.]*)$", "\\1", df$names)

【讨论】:

  • 谢谢,sub("\\.[^.]*$", "", df$names) 完美:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多