查找子串
谢谢大家的帮助。
我有一个字符串:
A = 'asdfghjklmn'
我该如何获取一个子字符串,它的最大长度是3的倍数呢?
5 个回答
1
又一个例子:
>>> A = '12345678'
>>> A[:len(A) - len(A)%3]
'123456'
>>>
1
看起来你在寻找类似这样的东西:
>>> A = 'asdfghjklmn'
>>> mult, _ = divmod(len(A), 3)
>>> A[:mult*3]
'asdfghjkl'
这里得到的字符串长度会是三的倍数,并且它将是字符串 A
中最长的符合这个长度的子串。
4
你可以使用切片表示法和整数运算。
>>> a = 'asdfghjklmn'
>>> a[:len(a)//3*3]
'asdfghjkl'
>>> len(a)
11
>>> len(a[:len(a)//3*3])
9
一般来说,n//k*k
会得到一个不大于n的最大k的倍数。