Python返回给定字符串中最长的数字子串,(1)外层循环,遍历整个字符串。 (2)使用字符串常用方法isdigit()判断是否属于数字。 (3)内层循环,对连续存在的数字子串进行存放的同时进行计数统计。 (4)最终返回数字子串最长的子串。
时间: 2024-05-12 18:19:49 浏览: 83
示例代码如下:
```python
def longest_digit_substring(s):
"""
返回给定字符串中最长的数字子串
"""
max_len, cur_len = 0, 0 # 最长数字子串长度和当前数字子串长度
max_substring, cur_substring = '', '' # 最长数字子串和当前数字子串
for i in range(len(s)):
if s[i].isdigit(): # 判断是否属于数字
cur_substring += s[i] # 如果是数字,加入到当前数字子串中
cur_len += 1 # 当前数字子串长度加1
else:
if cur_len > max_len: # 如果当前数字子串长度大于最长数字子串长度
max_len = cur_len # 更新最长数字子串长度
max_substring = cur_substring # 更新最长数字子串
cur_substring = '' # 清空当前数字子串
cur_len = 0 # 当前数字子串长度归0
# 如果整个字符串都是数字,需要再次判断一下最长数字子串
if cur_len > max_len:
max_len = cur_len
max_substring = cur_substring
return max_substring
```
测试:
```python
s = 'hello123world5678'
print(longest_digit_substring(s)) # 5678
s = '123456789'
print(longest_digit_substring(s)) # 123456789
s = 'hello world'
print(longest_digit_substring(s)) # 空字符串
```
阅读全文