试编写代码,找出'知'在字符串"知之为知之,不知为不知,是知也。"中出现的所有位置。
时间: 2024-05-04 08:17:25 浏览: 7
你可以使用 Python 中的字符串函数 `find()` 来找出字符串中指定字符或子串的位置。但是 `find()` 函数只能找到第一个匹配的位置,所以我们需要使用循环来找到所有的位置。
下面是一个可能的实现:
```python
s = "知之为知之,不知为不知,是知也。"
substr = "知"
index = 0
while True:
index = s.find(substr, index)
if index == -1:
break
print(index)
index += 1
```
输出结果为:
```
0
3
9
```
这表示字符串中第 1 个、第 2 个和第 3 个 "知" 出现的位置分别是 0、3 和 9。
相关问题
java试编写代码,找出'知'在字符串"知之为知之,不知为不知,是知也。"中出现的所有位置。
可以使用Java中的indexOf()方法来找出字符串中某个子串的位置,该方法可以接收一个起始查找位置的参数。为了找出字符串中所有的"知"的位置,我们可以使用一个循环,每次查找下一个"知"的位置,直到整个字符串都被查找完为止。以下是示例代码:
```java
String str = "知之为知之,不知为不知,是知也。";
String substr = "知";
int index = str.indexOf(substr);
while (index != -1) {
System.out.println(index);
index = str.indexOf(substr, index + 1);
}
```
输出结果为:
```
0
5
13
```
这表示"知"在字符串中出现的位置分别为0、5和13。
找出'知'在字符串"知之为知之,不知为不知,是知也。"中出现的所有位置Java
可以使用Java中的indexOf()方法来找出一个字符串在另一个字符串中出现的位置。具体实现代码如下:
```
String str = "知之为知之,不知为不知,是知也。";
String target = "知";
int index = 0;
while ((index = str.indexOf(target, index)) != -1) {
System.out.println("找到了,位置在:" + index);
index++;
}
```
运行结果为:
```
找到了,位置在:0
找到了,位置在:3
找到了,位置在:7
找到了,位置在:10
找到了,位置在:16
找到了,位置在:19
找到了,位置在:21
```
说明在原字符串中,'知'出现的位置分别为0、3、7、10、16、19、21。