Thanks in advance. I have a string:
A = 'asdfghjklmn'
How can I get a substring having a maximum length which is a multiple of three?
Thanks in advance. I have a string:
A = 'asdfghjklmn'
How can I get a substring having a maximum length which is a multiple of three?
You can use slice notation and integer arithmetic.
>>> a = 'asdfghjklmn'
>>> a[:len(a)//3*3]
'asdfghjkl'
>>> len(a)
11
>>> len(a[:len(a)//3*3])
9
In general, n//k*k will yield the largest multiple of k less than or equal to n.
Is this what you want?
A = 'asdfghjklmn'
A[0:(len(A)/3)*3]
'asdfghjkl'
With the foreword that it will never be as efficient as the ones that actually use math to find the longest multiple-of-3-substring, here's a way to do it using regular expressions:
>>> re.findall("^(?:.{3})*", "asdfghjklmn")[0]
'asdfghjkl'
Changing the 3 quantifier will allow you to get different multiples.