【发布时间】:2020-01-06 15:45:30
【问题描述】:
我想用".DE"替换以".F"结尾的字符串
我试过了:
data["field"] = data.field.str.replace(".F",".DE")
但奇怪的是,它将"BFb.N" 替换为".DEb.N"
有什么建议吗?
【问题讨论】:
标签: python string dataframe replace
我想用".DE"替换以".F"结尾的字符串
我试过了:
data["field"] = data.field.str.replace(".F",".DE")
但奇怪的是,它将"BFb.N" 替换为".DEb.N"
有什么建议吗?
【问题讨论】:
标签: python string dataframe replace
您可能认为".F" 意味着查找 .F 并替换它,但事实并非如此。它不是将".F" 视为字符串,而是将其视为正则表达式,这是完全不同的事情。在正则表达式中,".F" 表示任何字符加 F,这就是您看到这种行为的原因。保持使用正则表达式,您可以将 \ 添加到您的 . 以使其成为文字句点,例如 "\.F",它应该可以解决您的问题。
或者,您可以告诉 pandas 不要将其视为正则表达式,它也应该可以解决您的问题
data.field.str.replace(".F",".DE", regex=False)
【讨论】: