文本文件 example-1.txt 中有若干行字符串,由数字、字母和特殊字符组成。编写程序输出最 长数字串所在的行号、长度和该数字串,如有并列最长,则输出第一个。其中行号从 0 开 始计。 件中的
时间: 2024-03-21 14:38:43 浏览: 45
好的,让我来解答你的问题。
你可以使用 Python 编写程序来解决这个问题,具体步骤如下:
1. 打开文件 example-1.txt,读取文件内容并按行分割成列表。
```python
with open('example-1.txt', 'r') as f:
lines = f.readlines()
```
2. 遍历列表中的每一行,使用正则表达式匹配数字串,并记录最长的数字串所在的行号、长度和该数字串。
```python
import re
max_len = 0
max_num = ''
max_line = 0
for i, line in enumerate(lines):
nums = re.findall(r'\d+', line)
if nums:
num = max(nums, key=len)
if len(num) > max_len:
max_len = len(num)
max_num = num
max_line = i
```
3. 输出最长数字串所在的行号、长度和该数字串。
```python
print(f"最长数字串所在的行号是 {max_line},长度是 {max_len},数字串是 {max_num}")
```
完整代码如下:
```python
import re
with open('example-1.txt', 'r') as f:
lines = f.readlines()
max_len = 0
max_num = ''
max_line = 0
for i, line in enumerate(lines):
nums = re.findall(r'\d+', line)
if nums:
num = max(nums, key=len)
if len(num) > max_len:
max_len = len(num)
max_num = num
max_line = i
print(f"最长数字串所在的行号是 {max_line},长度是 {max_len},数字串是 {max_num}")
```
希望我的回答能够帮到你!
阅读全文