js写给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置. 如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入 indexOf()
时间: 2023-03-19 08:23:14 浏览: 204
可以使用 JavaScript 中的 indexOf() 函数来判断某个字符串中是否包含某个子串,并求出子串的所有出现位置。使用方法如下:var str = "abcbcbabcb34bcbd";
var index = str.indexOf("bcb"); // 获取子串bcb在字符串str中第一次出现的位置// 如果index大于等于0,则说明字符串中包含有子串,从此位置开始继续查找,直到返回-1
if (index >= 0) {
while(str.indexOf("bcb", index) > -1) {
index = str.indexOf("bcb", index);
console.log(index); // 输出1,7,12
index ++;
}
}
相关问题
给定一个字符串“abcd23abc34bcd”,利用indexOf()函数判断该字符串中是否包含子串“bc”。如果包含,输出该子串在字符串中出现的所有起始位置的索引。
当使用 `indexOf()` 方法判断一个字符串是否包含子串时,该方法会返回子串首次出现的索引,如果字符串中不包含该子串,则返回 -1。在这种情况下,如果子串 "bc" 在给定的字符串 "abcd23abc34bcd" 中存在,你需要找出它出现的所有起始位置的索引。
下面是一个示例代码,展示如何使用 `indexOf()` 方法来判断字符串中是否包含子串,并输出起始位置的索引:
```javascript
function findSubstringIndices(str) {
let index = str.indexOf('bc');
if (index !== -1) {
let substr = 'bc';
let result = [];
while (index !== -1) {
result.push(index);
index = str.indexOf(substr, index + 1);
}
return result;
} else {
return '子串 "bc" 不在字符串中';
}
}
let str = 'abcd23abc34bcd';
console.log(findSubstringIndices(str)); // 输出: [7, 14]
```
在上述代码中,我们定义了一个名为 `findSubstringIndices` 的函数,它接受一个字符串作为输入。首先,我们使用 `indexOf()` 方法查找子串 "bc" 在字符串中的起始位置索引。如果找到了子串,我们将使用一个循环来查找子串在字符串中的后续位置,并将它们添加到结果数组中。最后,我们返回结果数组,其中包含了子串在字符串中出现的所有起始位置的索引。如果没有找到子串,我们将返回一个错误消息。
在示例中,给定的字符串是 "abcd23abc34bcd",调用 `findSubstringIndices(str)` 将返回 [7, 14],表示子串 "bc" 在字符串中首次出现的位置是索引 7 和 14。
Java给定一个字符串“abcd23abc34bcd”,利用indexOf()函数判断该字符串中是否包含子串“bc”。如果包含,输出该子串在字符串中出现的所有起始位置的索引。
当然可以,以下是使用Java来解决这个问题的一种方式。这个代码首先检查字符串中是否包含子串“bc”,如果包含,它会输出所有包含该子串的字符串的起始位置索引。
```java
public class Main {
public static void main(String[] args) {
String str = "abcd23abc34bcd";
String subStr = "bc";
for (int i = 0; i < str.length(); i++) {
if (str.indexOf(subStr) != -1) {
System.out.println("子串 " + subStr + " 在字符串中出现的所有起始位置的索引为: " + i);
}
}
}
}
```
这段代码首先定义了一个字符串`str`和一个子串`subStr`。然后,它使用`indexOf()`函数在字符串中查找子串的位置。如果找到了子串,它会打印出子串在字符串中出现的所有起始位置的索引。注意,`indexOf()`函数返回的是第一次出现子串的位置,如果子串在字符串中多次出现,这段代码只会打印出第一次出现的位置。
如果你需要处理多个可能出现的子串,你可能需要使用更复杂的逻辑来处理这种情况。但是基本的思路是相同的:检查字符串中是否包含子串,然后输出所有包含该子串的字符串的起始位置索引。
阅读全文