擅长:python、mysql、java
<p>给定一个包含数字的字符串<code>s</code>,以及一个数字<code>n</code>,即您要查找的重复大小,则可以执行以下操作:</p>
<pre><code>s.find(s[:n], n)
</code></pre>
<p>这将查找字符串开头之后第一次出现的索引,该索引等于字符串的第一个<code>n</code>字符。例如:</p>
<pre><code>s = str(845528455314391440)
n = 3
r = s.find(s[:n], n)
print(r)
</code></pre>
<p>输出:</p>
<pre><code>5
</code></pre>
<p>然后可以使用它来拆分字符串并将部分转换为数字:</p>
<pre><code>a, b = int(s[:r]), int(s[r:])
print(a, b)
</code></pre>
<p>输出:</p>
<pre><code>84552 8455314391440
</code></pre>
<p>全部合并成一个函数,不重复说明数字:</p>
<pre><code>def split_repeat(i, n):
s = str(i)
r = s.find(s[:n], n)
if r == -1:
return None
else:
return int(s[:r]), int(s[r:])
</code></pre>
<p>用法:</p>
<pre><code>print(split_repeat(845528455314391440, 3))
print(split_repeat(876543210, 3))
print(split_repeat(1122, 3))
</code></pre>
<p>输出:</p>
<pre><code>(84552, 8455314391440)
None
None
</code></pre>