【问题标题】:How to replace character in string upon a condition - python如何根据条件替换字符串中的字符 - python
【发布时间】:2021-06-19 13:51:20
【问题描述】:

如果's 之前或I 之后,我想用空格替换它,这是我的代码但输出没有改变?

s 类型为<class 'str'>

for w in s:
   if(w[-2:] == "'s") or (w[2:] == "I'"):
       s = s[w].replace("'",'   ')  

【问题讨论】:

  • 请提供预期的minimal, reproducible example (MRE)。我们应该能够复制和粘贴您的代码的连续块,执行该文件,并重现您的问题以及跟踪问题点的输出。这让我们可以根据您的测试数据和所需的输出来测试我们的建议。从您的部分描述来看,您似乎正在遍历一个简单的字符串,但期望单个字符以某种方式等于长度为 2 的字符串。这不可能。我们需要完整的代码。

标签: python pandas string dataframe replace


【解决方案1】:

w 只是一个字符,所以w[-2:] 不会在s 中包含w 之前的字符。您可以遍历 s 中的索引并使用 s[index-1:index+1] 匹配子字符串。

但是你不需要循环,你可以使用replace()来替换每个子字符串。

s = s.replace("'s", " s").replace("I'", "I ")

【讨论】:

    猜你喜欢
    • 2013-11-19
    • 1970-01-01
    • 2015-02-02
    • 2021-10-07
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    相关资源
    最近更新 更多