java输出给定子串在字符串中出现的所有位置,如无此串,显示“no this string!”
时间: 2023-11-27 15:49:44 浏览: 49
可以使用Java中的String类提供的indexOf()方法来查找子串在字符串中出现的位置。具体实现如下:
```java
public static void findSubstring(String str, String subStr) {
int index = str.indexOf(subStr);
if (index == -1) {
System.out.println("no this string!");
} else {
while (index != -1) {
System.out.println(index);
index = str.indexOf(subStr, index + 1);
}
}
}
```
其中,indexOf()方法用于查找子串在字符串中第一次出现的位置,如果找不到,则返回-1。如果找到了,就将该位置输出,并继续查找下一个位置,直到找不到为止。如果一开始就找不到子串,就直接输出“no this string!”。
相关问题
输出给定子串在字符串中出现的所有位置,如无此串,显示“no this string!” Input 输入两个字符串str1,str2。第一个字符串str1为源字符串,str2为待查找子串 。 Output 输出所有子串在源字符串中出现的位置,如果有多个,中间用分号隔开。如果不存在则输出“no this string!”。
以下是 Python 代码实现:
```python
str1 = input("请输入源字符串:")
str2 = input("请输入待查找子串:")
if str2 not in str1:
print("no this string!")
else:
positions = []
start = 0
while True:
position = str1.find(str2, start)
if position == -1:
break
positions.append(str(position))
start = position + 1
print(";".join(positions))
```
代码思路:
首先输入源字符串和待查找子串,如果待查找子串不在源字符串中,则输出“no this string!”;否则,我们使用 `find()` 方法查找待查找子串在源字符串中的位置,如果找到了,则将该位置添加到位置列表中,并将查找的起始位置移动到该位置之后,继续进行查找,直到无法找到为止。最后,我们将列表中的位置用分号拼接起来输出。
阅读全文