在python中,如何拆分一行但保持行中的变量未拆分

2024-10-05 13:16:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一条线要分成三部分:

line4 = 'http://www.example.org/lexicon#'+synset_offset+' http://www.monnetproject.eu/lemon#gloss '+gloss+''

可变光泽度包含完整的句子,我不想被分割。我怎样才能阻止这种情况的发生?在

最后3个拆分部分应为:

^{pr2}$

运行triple = line4.split()


Tags: orghttpexamplewww情况句子offsetlemon
3条回答
>>> synset_offset = "foobar"
>>> gloss = "This is a full sentence."
>>> line4 = 'http://www.example.org/lexicon#'+synset_offset+' http://www.monnetproject.eu/lemon#gloss '+gloss
>>> import string
>>> string.split(line4, maxsplit=2)
['http://www.example.org/lexicon#foobar', 'http://www.monnetproject.eu/lemon#gloss', 'This is a full sentence.']

不知道你想在这里做什么。如果您希望避免拆分关键字,则应执行以下操作:

^{pr2}$

如果字符串的gloss(或任何关键字部分)是结束部分,则该片段将只是一个空字符串'';如果是这样,则不要追加它,如果这样做,则删除它。在

如果它们都以“http”开头,则可以使用http作为分隔符将它们拆分,否则可以执行两个步骤:

首先使用空格或http作为 firstSplit=line4.split('',1)

firstString= firstSplit.pop(0) -> pop the first url
secondSplit =firstSplit.join() -> join the rest
secondSplit[-1].split('lemon#gloss') ->splits the remaining two

我很难理解,但为什么不创建一个列表来开始:

line4 = [
    'http://www.example.org/lexicon#' + synset_offset,
    'http://www.monnetproject.eu/lemon#gloss',
    gloss
]

简化示例-不要将它们全部连接在一起,然后再将它们分开,只需首先将它们正确地连接起来:

^{pr2}$

相关问题 更多 >

    热门问题