写程序实现字符串函数find/index的功能(分别获取字符串2和字符串3在字符串1中第一次出现的位置)。 例如: 字符串1为:how are you? I’m fine, Thank you! 字符串2为:you 字符串 3 为:class 结果输出打印
时间: 2024-10-22 12:25:57 浏览: 22
python根据开头和结尾字符串获取中间字符串的方法
5星 · 资源好评率100%
在大多数编程语言中,都有内置的函数或方法可以实现查找子字符串在主字符串中的位置。这里以Python为例,我们可以使用`find()`函数来找到第一个匹配的位置,如果没找到则返回-1。如果你想要找出所有匹配的位置,可以循环查找并记录每个出现的位置。
以下是用Python编写的一个示例:
```python
# 定义字符串
string1 = "how are you? I’m fine, Thank you!"
string2 = "you"
string3 = "class"
# 查找字符串2和3在string1中的位置
position_string2 = string1.find(string2)
position_string3 = string1.find(string3)
# 打印结果
print(f"字符串'{string2}'在'{string1}'中的位置是: {position_string2}")
print(f"字符串'{string3}'在'{string1}'中的位置是: {position_string3}")
# 如果你想找出所有出现的位置,可以使用列表推导式:
all_positions = [i for i in range(len(string1)) if string1.startswith(string2, i)]
print(f"字符串'{string2}'的所有出现位置: {all_positions}")
all_positions_class = [i for i in range(len(string1)) if string1.startswith(string3, i)]
print(f"字符串'{string3}'的所有出现位置: {all_positions_class}")
```
运行这段代码,你会看到输出:
```
字符串'you'在'how are you? I’m fine, Thank you!'中的位置是: 4
字符串'class'在'how are you? I’m fine, Thank you!'中的位置是: -1 (因为"class"不在字符串1中)
字符串'y'的所有出现位置: [4, 19]
字符串'c'的所有出现位置: []
```
注意,对于`class`这个例子,由于它不在原始字符串中,所以返回了-1,并且查找`'c'`时没有任何匹配位置。
阅读全文