在使用 python 的条件下向 textblurp 添加新行 (/n)

Adding a new line (/n) to a textblurp under condition using python

我目前正在尝试拆分文本,尤其是在“.”(点)之后没有 space 的地方。 df 是一个 csv 文件。

我当前的代码(请不要介意 spaces):

for i in df['blurb']:
  try:
    df.loc[i,'blurb'] = df.loc[i,'blurb'].replace('.A', '.\nA')
  except:
    pass 
...
  try:
    df.loc[i,'blurb'] = df.loc[i,'blurb'].replace('.Z', '.\nZ')
  except:
   pass

这是字母表中的每个字母,因为我想在每个这样的点之后放一个 /n [nem 行]。

结果和原来的一样(不想保存覆盖原来的)。如果我创建另一个专栏 [blurb2],它会给出与原始 blurb 专栏相同的结果。我已经在该网站上寻找了几个小时的答案,但似乎没有任何效果 [虽然没有错误消息] ...这让我发疯 ...

有人有什么建议吗?提前致谢!

干杯

要在点后有非空格的点后插入换行符,您可以使用

df['blurb'] = df['blurb'].str.replace(r'\.(?=\S)', '\g<0>\n')

注意这里

  • \. - 匹配后跟
  • 的点字符
  • (?=\S) - 除空格以外的任何字符。由于它是一个正则表达式前瞻,它的模式只会被检查,但不会被消耗。

\g<0>是正则表达式匹配的整个匹配值。