字符串s由若干个单词构成,单词之间由空格分隔。获得s中的最长单词,输出此单词和其长度。
时间: 2024-11-15 08:29:22 浏览: 15
在Python中,可以使用内置的字符串和列表操作来解决这个问题。以下是一个简单的函数,它会从给定的字符串`s`中找到最长的单词及其长度:
```python
def longest_word(s):
# 首先,我们需要去除字符串中的标点符号并将所有内容转换成小写
s = ''.join(e for e in s if e.isalnum()).lower()
# 将字符串分割成单词列表
words = s.split()
# 初始化最长单词和长度
longest = ""
max_length = 0
# 遍历每个单词,更新最长单词和长度
for word in words:
if len(word) > max_length:
longest = word
max_length = len(word)
# 返回最长单词和它的长度
return longest, max_length
# 测试函数
s = "Hello, world! This is a test string."
longest, length = longest_word(s)
print(f"The longest word is '{longest}' with a length of {length}.")
```
这个函数首先移除所有的非字母数字字符,并将字符串转换为小写。然后,它按空格拆分字符串,得到一个单词列表。接着,遍历每个单词,如果当前单词的长度大于已知的最长单词长度,则更新最长单词和长度。最后,返回最长单词和它的长度。
阅读全文