在R中保留字母数字字符串的最后9位数字

时间:2011-08-30 20:28:12

标签: r

请R-gurus,如何保留字母数字字符串的后9位数字 例如

  

LA XAN 000262999444
  RA XAN 000263000507
  WA XAN 000263268038
  SA XAN 000263000464
  000263000463
  000263000476

我只想得到

  

262999444
  263000507个
  263268038个
  263000464个
  263000463个
  263000476

非常感谢

4 个答案:

答案 0 :(得分:6)

stringr中这很容易,因为sub_str将负指数解释为字符串末尾的偏移量。

library(stringr)
str_sub(xx, -9, -1)

答案 1 :(得分:4)

如果您只想要最后9个职位,可以使用substr

substr(xx,nchar(xx) - 8,nchar(xx))

假设您的角色向量存储在xx中。另外,正如Hadley在下面指出的那样,如果nchar是一个因素而不是字符向量,xx将返回意外的事情。他使用stringr的解决方案绝对是可取的。

答案 2 :(得分:2)

假设输入是名为" strgs":

的向量
sub(".*(.........)$", "\\1", strgs)
#[1] "262999444" "263000507" "263268038" "263000464"

?sub
?regex

答案 3 :(得分:-3)

不确定您正在寻找哪种语言,但这里将是一个c#实现。

逻辑如下:

    string s = "WA XAN 000263268038";
    s = s.Substring(s.Length - 10, 9);

希望这有帮助!