在括号之前或之后添加空格-Python

时间:2019-11-25 06:05:29

标签: python

我需要编写一个程序,将一个段落拆分为多个句子,并在逗号,标点符号和括号之前和之后添加空格。但是,如果它的名字像d-(-)-乳酸,我不会插入空格。这是我到目前为止的内容:

import re
import string
message = input("Enter a file name: ")
hand = open(message)
x = re.findall('\S+\(\S+', line.rstrip())
y = ''.join(x)
for line in hand:
        fp = re.sub('(?<! )(?=[.,!?()])|(?<=[.,!?()])(?! )', r' ', line)
        sentences = re.split(r' *[\.\?!][\'"\)\]]* *', fp)
        if y in line:
            pass
        else:
            fp = re.sub('(?<! )(?=[.,!?()])|(?<=[.,!?()])(?! )', r' ', sentences)
            sentences = re.split(r' *[\.\?!][\'"\)\]]* *', fp)
        print(*sentences, sep="\n")

我不确定如何解释与d-(-)-乳酸相似的名称。

编辑:这是示例文本:

在Jurkat细胞和正常植物血凝素扩增的T淋巴母细胞中,发现CD5与含有造血磷酸酪氨酸磷酸酶SHP-1的Src同源2(SH2)域相关。 SATB1还将ACF1和ISWI(染色质可及性复合物(CHRAC)的亚基和ACF核小体动员复合物)靶向此特定位点,并调节ACF1受体在7千个碱基上的定位。这些结果表明,AF-上的Ras相互作用区域图6在结构上类似于Raf-1和RalGDS,AF-6在体内与活化的Ras和L-(+)-酒石酸相互作用。

所以我在这里遇到的术语是L-(+)-酒石酸。不应在该术语中插入空格。

1 个答案:

答案 0 :(得分:0)

尝试使用此代码在括号之前或之后添加空格:

  import re
  import string
  message = input("Enter a file name: ")
  hand = open(message)
  txt=hand.read()
  sentences = re.split(r' *[\.][\'"\)\]]* *', txt)
  for stuff in sentences:
          x = re.search('^\w+([-]?\w+)*\w+([\.()-]?\w+)*\w+([-]?\w+)+$',stuff)
          if x:
            print(x)
          else:
            stuff = re.sub('([.,!?()])', r' \1 ', stuff)
            stuff = re.sub('\txt{2,}', ' ', stuff)
            print(stuff)