我有一个示例文本,例如“ 0 zacapa ambar 40%1l”。我需要帮助来提取本文的2个不同部分。
输出:
1)zacapa腰果
2)40%1l
示例:
1 smirnoff espresso twist 10l
1 captain morgan black spiced 10l
1 bulleit 95 rye 10l
所以我只想对字符串进行一些模糊匹配,并希望在2部分中提取细节。
答案 0 :(得分:0)
假设您输入的是
x <- c("1 smirnoff espresso twist 10l", "1 captain morgan black spiced 10l",
"1 bulleit 95 rye 10l", "baileys irish cr 17% 100cl")
您可以通过使用获得两个部分
part1 <- sub("\\d?\\s(.*?)\\s\\d+.*", "\\1", x)
part2 <- sub("\\d?.*\\s.*(\\d+.*?)", "\\1", x)
part1
#[1] "smirnoff espresso twist" "captain morgan black spiced" "bulleit"
#[4] "baileysirish cr"
part2
#[1] "10l" "10l" "95 rye 10l" "17% 100cl"
其中part1
忽略第一个数字并提取所有字符,直到x
中出现下一个数字,而part2
提取之后的所有内容。