输入一个字符串和子串,统计子串在该字符中出现次数
时间: 2023-11-17 19:08:36 浏览: 155
以下是 Python 代码实现:
```python
def count_substring(string, sub):
count = 0
start = 0
while True:
start = string.find(sub, start) # 从 start 开始查找子串 sub
if start == -1: # 若没有找到,则退出 while 循环
break
count += 1
start += 1 # 从下一个字符开始继续查找
return count
```
这个函数接受两个字符串作为参数:`string` 表示原始的字符串,`sub` 表示要查找的子串。
函数中定义了一个 `count` 变量来记录子串出现的次数,初始值为 0。另外,还定义了一个 `start` 变量来记录查找的起始位置,初始值为 0。
接下来进入一个 while 循环。在循环中,我们使用 `string.find(sub, start)` 方法来在 `string` 中查找子串 `sub`,其中 `start` 参数表示查找的起始位置。如果没有找到子串,`string.find()` 方法会返回 -1,此时退出 while 循环。如果找到了子串,那么我们就将 `count` 加一,并将 `start` 设置为下一个字符的位置,即 `start += 1`。
最后返回 `count` 即可。
相关问题
编写一个java程序,输入一个字符串和子串。然后统计子串在字符串中出现的次数
可以使用Java中的String类提供的indexOf方法来查找子串在字符串中的位置,然后利用循环不断查找并统计出现次数。具体实现如下:
```
import java.util.Scanner;
public class SubstringCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String str = scanner.nextLine();
System.out.println("请输入子串:");
String substr = scanner.nextLine();
int count = 0;
int index = str.indexOf(substr);
while (index != -1) {
count++;
index = str.indexOf(substr, index + substr.length());
}
System.out.println("子串在字符串中出现的次数为:" + count);
}
}
```
运行程序后,输入字符串和子串,即可输出子串在字符串中出现的次数。
java从键盘上输入一个字符串和子串开始位置与长度,截取该字符串的子串并输出。
可以使用Java中的substring()方法来截取字符串,具体实现如下:
```java
import java.util.Scanner;
public class SubstringDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串:");
String str = scanner.nextLine();
System.out.print("请输入子串的开始位置:");
int start = scanner.nextInt();
System.out.print("请输入子串的长度:");
int length = scanner.nextInt();
String subStr = str.substring(start, start + length);
System.out.println("截取得到的子串为:" + subStr);
}
}
```
这个程序中,我们首先使用Scanner类从键盘上读取用户输入的字符串、子串的开始位置和长度。然后使用substring()方法截取字符串,并将结果输出到控制台上。注意,substring()方法的第一个参数是子串的开始位置,第二个参数是子串的结束位置(不包含在内),因此需要将结束位置计算为开始位置加上子串的长度。
阅读全文