对于下面这些字符串的某些部分,我正在为一些正则表达式而苦苦挣扎。这用于 str.extract() 并且我需要捕获:跳跃或爬行,这将遵循两个空格valueA 或 valueB,这将跟在 $@ 和 \n 之间的数量,有时但不总是,这包括最多两位小数⬆️ jump $valueA @ 5084\n\n#blah⬆️ jump $valueB @ 628.15\n\n#blah⬇️ crawl $valueB @ 626.8\n\n#blah⬇️ crawl $valueB @ 4070\n\n#blah⬆️ jump $valueA @ 6175.5\n\n#blah
1 回答
慕仙森
TA贡献1827条经验 获得超7个赞
您可以使用模式(jump|crawl)\s+\$(value[AB])\s@\s(\d*\.?\d*):
df = pd.DataFrame({"value":["⬆️ jump $valueA @ 5084\n\n#blah",
"⬆️ jump $valueB @ 628.15\n\n#blah",
"⬇️ crawl $valueB @ 626.8\n\n#blah",
"⬇️ crawl $valueB @ 4070\n\n#blah",
"⬆️ jump $valueA @ 6175.5\n\n#blah"]})
print (df["value"].str.extract("(jump|crawl)\s+\$(value[AB])\s@\s(\d*\.?\d*)"))
0 1 2
0 jump valueA 5084
1 jump valueB 628.15
2 crawl valueB 626.8
3 crawl valueB 4070
4 jump valueA 6175.5
添加回答
举报
0/150
提交
取消