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

时间:2017-10-23 18:11:47

标签: python python-3.x tkinter

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

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

我需要删除第一个[以及最后一个]。 有没有办法没有替换所有括号?

4 个答案:

答案 0 :(得分:3)

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

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]

答案 1 :(得分:1)

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

inds = range(0,len(th),(len(th)-1) // 4)
xunit[74] = 0
yunit[148] = 0

如果您只想删除括号,

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

差异:

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

答案 2 :(得分:0)

删除字符串的第一个和最后一个字符。只需使用切片删除它们。    这是我写的代码:

 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)

答案 3 :(得分:-3)

如果您确定它们将始终位于字符串的前沿和后沿,请使用lstriprstrip,如下所示:

s.lstrip('[').rstrip(']')