如何在给定参数之前的第n个字符上分割字符串(Python)



通常我使用.split()方法在数据框架上分割字符串,但这次我有一个字符串看起来像这样:3017381ªssamrie - EM";或3017381ºAno - Iniciais
我想找到"或";ª";然后把它分成两个字符。分割后的字符串应该是这样的:("301728","1ª联赛——EM"]

您可以使用str.find函数,并更改您收到的字符串中的位置。

在函数中,它看起来像这样(请考虑它将在charList中定义的选项的第一个条目上拆分字符串,但如果需要进行多次拆分,您可以扩展该方法):

def splitString(s,offset=0,charList=[]):
for opt in charList:
x = s.find(opt)
if x != -1: # default when not found
return [s[:x+offset],s[x+offset:]]
return [s] # input char not found

你可以调用这个函数:

splitString("3017381ª Série - EM",offset=-1,charList=[ "º","ª"])

也许这有点令人困惑但结果就是你想要的。

a = "3017381ª Série - EM"
print(a[7])
print(a[5])
b = a[7]
c = a[5]
print(b)
print(c)
x = a.split(b)
y = a.split(c)
newY = y[1]
newX = x[0]
print(newY)
print(newX)
minusX = newX[:-1]
print(minusX)
z =[]
z.append(minusX)
z.append(y[1])
print("update:", z)

最新更新