首页 > 解决方案 > 子字符串前两个,除非以 ZZ 开头

问题描述

我想对字符串进行子串化以获取位置。我知道功能substr,或者strsplit但我需要根据条件进行拆分。基本上它总是前两个字母,但如果它以 ZZ 开头,那么它是第二个两个字母

例如:

Location  Expected_from_string_split
HJ 848    HJ
BP 231    BP
ZA 123    ZA
ZZ AB 123 AB

我试图用“”替换 ZZ,所以我仍然可以在前两个字母上拆分字符串,但是用替换替换整个值。所以那没有用

标签: r

解决方案


一种选择是:

substr(sub('ZZ ', '', df$Location), 1, 2)

输出:

[1] "HJ" "BP" "ZA" "AB"

推荐阅读