【问题标题】:Splitting by particular punctuation按特定标点符号拆分
【发布时间】:2019-10-21 17:35:24
【问题描述】:

假设我想从一个句子中删除一个逗号,但是以这种特殊的方式。

 I ate pineapples, grapes -> I ate pineapples I ate grapes

 we know python 2.0, 3.0 well -> we know python 2.0 well we know python 3.0 well

基本上,我想保留没有逗号的所有内容。有没有一种简单的方法可以在 python 中使用're'库?

【问题讨论】:

  • 您可能想要进行字符串替换。不需要正则表达式。
  • @SumnerEvans 。春季替换只允许“菠萝,葡萄->菠萝葡萄”我想知道是否有办法像上面那样拆分它。
  • 你将不得不定义如何处理这样的句子:“我吃了菠萝、葡萄和香蕉”。是不是“我吃菠萝我吃葡萄我吃香蕉”?另外,当有一个短语时,你想发生什么?例如,按照您当前的定义,“我吃了很棒的菠萝,很棒的葡萄”会变成“我吃了很棒的菠萝葡萄,我吃了很棒的葡萄”。

标签: python string split


【解决方案1】:

你基本上是用逗号分割字符串,保留第一句但重复它,用逗号后面的词替换第一句的最后一个词。

s = "I ate pineapples, grapes"

s1 = "we know python 2.0, 3.0 well"

def my_split(string):
    sep = string.split(',')
    sentence = ' '.join(sep[0].split()[:-1])
    words = [sep[0].split()[-1], *sep[1:]]
    return ' '.join(f'{sentence} {w.strip()}' for w in words)

print(my_split(s))
print(my_split(s1))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 1970-01-01
    • 2018-07-06
    • 2023-03-23
    • 2015-12-18
    • 2021-05-17
    • 1970-01-01
    相关资源
    最近更新 更多