查找子串

0 投票
5 回答
610 浏览
提问于 2025-04-15 15:04

谢谢大家的帮助。

我有一个字符串:

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的倍数。

撰写回答