Python:如何在不使用.replace([或])的情况下替换开头和结尾的方括号

2024-10-03 02:38:16 发布

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

我的输出应该用括号括起来,比如:

[[ken alex boz you]
[ken alex you boz]
[ken you boz alex]
[alex you ken boz]
]

我需要删除第一个[和最后一个]。 有没有不更换所有支架的方法?你知道吗


Tags: 方法you支架括号alexkenboz
3条回答

或者,如果你想把东西放在最外面的两个括号之间

def get_bracket_contents(s):
    left = s.index('[')
    right = s.rindex(']')
    return s[left+1:right]

如果你只想移除支架

def remove_outer_brackets(s):
    left = s.index('[')
    right = s.rindex(']', left)
    return s[:left] + s[left+1:right] + s[right+1:]

区别在于:

In [3]: get_bracket_contents(' [[abc][def]] ')
Out[3]: '[abc][def]'
In [4]: remove_outer_brackets(' [[abc][def]] ')
Out[4]: ' [abc][def] '

使用字符串片段删除第一个和最后一个字符

test = '[[ken alex box you] [ken alex you boz]]'
print(test[1:-1:])
>> [ken alex box you] [ken alex you boz]

或者,如果您想变得非常神秘,您可以替换字符串两边第一个出现的'['

test = '[[ken alex box you] [ken alex you boz]]'
print(test.replace('[', '', 1)[::-1].replace(']', '', 1)[::-1])
>> [ken alex box you] [ken alex you boz]

删除字符串。很简单使用切片将其移除。 以下是我编写的代码:

 str = "[[ken alex boz you] [ken alex you boz] [ken you boz alex] [alex you ken boz]]"
 req_str = str[1:len(str)-1]
 print(req_str)

相关问题 更多 >