📅  最后修改于: 2023-12-03 14:53:16.864000             🧑  作者: Mango
在 Golang 中,有很多种方法可以计算字符串中重复字符的数量。下面将介绍其中几种较常用的方法。
我们可以使用 map 来统计字符串中重复字符的数量。具体实现步骤如下:
下面是代码示例:
func countDuplicate(s string) int {
m := make(map[rune]int)
runes := []rune(s)
for _, r := range runes {
m[r]++
}
count := 0
for _, v := range m {
if v > 1 {
count++
}
}
return count
}
func main() {
s := "hello, world!"
count := countDuplicate(s)
fmt.Println(count) // Output: 4
}
除了使用 map,我们还可以使用数组来统计字符串中重复字符的数量。具体实现步骤如下:
下面是代码示例:
func countDuplicate(s string) int {
count := [256]int{}
for _, c := range s {
count[c]++
}
duplicates := 0
for _, n := range count {
if n > 1 {
duplicates++
}
}
return duplicates
}
func main() {
s := "hello, world!"
count := countDuplicate(s)
fmt.Println(count) // Output: 4
}
在 Golang 的字符串操作库中,有一些函数可以帮助我们统计字符串中重复字符的数量。例如,strings.Count
函数可以统计一个子串在字符串中出现的次数,我们可以使用它来统计所有出现次数大于 1 的字符出现的次数。
下面是代码示例:
import "strings"
func countDuplicate(s string) int {
duplicates := 0
for _, r := range s {
count := strings.Count(s, string(r))
if count > 1 {
duplicates++
}
}
return duplicates
}
func main() {
s := "hello, world!"
count := countDuplicate(s)
fmt.Println(count) // Output: 4
}
以上就是统计 Golang 字符串中重复字符数量的三种方法。具体选择哪种方法,可以根据实际情况选择最适合的。