我想对 R 中的字符列表执行操作,如下所述:
- 仅保留“-”之后的内容
- 然后仅保留剩余部分的前四个字符(如果长度小于四,则用“J”补全)
- 全部大写
Python 示例
lt = ['LTA-Yokudo', 'LTA-Luo', 'LTA-Kawasaki']
[str(x).split('-')[1][:4].upper().ljust(4, 'J') for x in lt]
预期结果
['YOKU', 'LUOJ', 'KAWA'] # in Python
c('YOKU', 'LUOJ', 'KAWA') # in R
请注意,列表中的字符串将始终包含字符“-”。
在 R 中这样做的最佳解决方案是什么?
谢谢
最佳答案
基本 R 方法:
> x <- c('LTA-Yokudo', 'LTA-Luo', 'LTA-Kawasaki')
> x1 <- toupper(substr(x,5,8))
> ifelse(nchar(x1) == 3,paste0(x1,"J"),x1)
[1] "YOKU" "LUOJ" "KAWA"
关于python - 相当于R中Python对字符串的综合列表操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54354554/