完成记录一个字串在整串中出现的次数代码
时间: 2024-02-26 17:58:31 浏览: 62
好的,下面是一个示例代码:
```python
def count_substring(string, sub_string):
count = 0
for i in range(len(string)):
if string[i:i+len(sub_string)] == sub_string:
count += 1
return count
```
使用方法:
```python
string = "hello world, hello python"
sub_string = "hello"
count = count_substring(string, sub_string)
print(count) # 输出为 2
```
其中,`count_substring` 函数接收两个参数,`string` 表示整个字符串,`sub_string` 表示要查找的子串。函数中使用一个循环遍历整个字符串,通过判断每个子串是否与要查找的子串相同,来计数出现次数。最终返回计数结果。
相关问题
编写一个程序,统计你的学号字符串在一段字符串(可自习定义)中出现的次数。要求用String类的常用方法来计算出现的次数。 例如:张三同学学号为123456,则统计“123456”在“namezhangsan123456idnumber123456and123”出现的次数为2。 实现思路: (1)实现本程序需要先定义两个字符串,一个子串,一个检索串。 (2)要查找子串在总串中出现的次数,可以先使用String类的contain()方法,判断总串中是否包含子串,如果不包含,那么不用计算,出现的次数一定为0。 (3)如果包含了,那么再具体计算出现的次数。使用String类的indexOf()方法可以获取子串在总串中第一次出现的索引。获取到之后,再在剩余字串(该索引加上子串长度的位置处)继续查找子串(可以通过String类的subString()方法将整串的剩余部分截取出来,然后在剩余整串中从头查找子串)。依次类推,通过循环完成查找,直到找不到子串为止,此时indexOf()方法的返回值为-1. (4)定义一个计数器,记录出现的次数,在循环中每查到一次子串,则计数器加1.
以下是实现本程序的Java代码:
```java
public class CountSubstring {
public static void main(String[] args) {
String str = "namezhangsan123456idnumber123456and123";
String subStr = "123456";
int count = 0;
int index = str.indexOf(subStr);
while (index != -1) {
count++;
str = str.substring(index + subStr.length());
index = str.indexOf(subStr);
}
System.out.println(subStr + "出现的次数为:" + count);
}
}
```
运行结果为:
```
123456出现的次数为:2
```
程序首先定义了字符串`str`和子串`subStr`,然后使用`indexOf()`方法查找子串在总串中第一次出现的索引,并通过循环不断在剩余字串中查找子串,直到找不到为止。每查到一次子串,则计数器加1。最后输出出现次数即可。
完成代码,输入为一个只包含字母的字符串s。要求返回一个字典,计算由单一字母构成的连续子串的长度,键是连续字串的单一字母,值是该连续字串重复的个数. 如果同一单一字母拥有多个连续字串,则值为最后一个连续字串的字母重复个数,例如对于‘aaaaaabaaa’,返回值a的个数计为3。 示例: 输入:'helloaaabccd' 输出:{'l': 2, 'a': 3, 'c': 2}
可以用一个字典来记录每个字母的连续出现次数,同时记录最后一个连续子串的字母重复个数。遍历字符串s,如果当前字母与前一个字母相同,则增加该字母的计数器;否则,将该字母的计数器重置为1。最后返回字典中计数器大于1的项。
代码如下:
```python
def count_substrings(s):
counts = {}
prev_char = None
for char in s:
if char == prev_char:
counts[char] += 1
else:
counts[char] = 1
prev_char = char
return {char: count for char, count in counts.items() if count > 1}
```
使用示例:
```python
s = 'helloaaabccd'
print(count_substrings(s)) # {'l': 2, 'a': 3, 'c': 2}
```
阅读全文