寻找字符串中最长的单词并输出(将非字母字符看做单词分隔符)。
时间: 2024-02-15 21:04:20 浏览: 107
好的,这是一个字符串处理的问题。实现过程如下:
1. 定义一个变量 `max_word_len` 来记录最长单词的长度,初始值为 0。
2. 定义两个变量 `start_index` 和 `end_index` 来记录单词的起始和结束位置,初始值都为 -1。
3. 遍历字符串中的每个字符,如果当前字符是字母,则将 `end_index` 设置为当前位置;如果当前字符不是字母,则判断 `start_index` 是否为 -1,如果不是则说明已经找到了一个单词,计算该单词的长度并与 `max_word_len` 比较,如果大于则更新 `max_word_len`。
4. 最后输出 `max_word_len`。
下面是具体的实现代码:
```python
def find_longest_word(s):
max_word_len = 0
start_index = end_index = -1
for i in range(len(s)):
if s[i].isalpha():
if start_index == -1:
start_index = i
end_index = i
else:
if start_index != -1:
word_len = end_index - start_index + 1
if word_len > max_word_len:
max_word_len = word_len
start_index = end_index = -1
if start_index != -1:
word_len = end_index - start_index + 1
if word_len > max_word_len:
max_word_len = word_len
return max_word_len
```
你可以调用这个函数并传入一个字符串,例如:
```python
s = "Hello, world! This is a test string."
max_word_len = find_longest_word(s)
print(max_word_len) # 输出 6,因为最长的单词是 "string",长度为 6。
```
希望这个答案能够帮助到你!
阅读全文