gpt4 book ai didi

regex - R regex - 匹配直到从末尾开始的第一个字母-空格-数字组合

转载 作者:行者123 更新时间:2023-12-04 23:18:42 26 4
gpt4 key购买 nike

我有以下字符串向量:

x = c("Breakfast Sandwich 12.6 - 18.4oz 4 - 8ct", 
"Buffalo Wing 7.6 - 10 oz",
"Asstd Cafe Appetizer 8 - 20",
"16in Extra Lrg Pepperoni 45.5oz")

我需要将大小移动到字符串的开头,但我无法创建正确的 regex呼吁它。如果找到多个组合,则只移动最后一个。移动的部分将始终以字母和空格开头。
所需的输出将是:
"4 - 8ct Breakfast Sandwich 12.6 - 18.4oz", 
"7.6 - 10 oz Buffalo Wing",
"8 - 20 Asstd Cafe Appetizer",
"45.5oz 16in Extra Lrg Pepperoni"

我认为,非贪婪匹配直到类似 [a-z] [0-9].*?找到了吗?或者可以使用 split反而?
你能帮我解决这个问题吗?先感谢您!

顺便说一句,如果所有测试用例都没有一步解决方案,那么一系列单独的 gsub也会起作用。

最佳答案

这似乎可以处理您提到的情况:
sub("(.*[a-z]{1}) ([0-9.]+\\s*-?\\s*[0-9.]*\\s*[a-z]*\\s*)$", "\\2 \\1", x)

关于regex - R regex - 匹配直到从末尾开始的第一个字母-空格-数字组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33245658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com