如何在 Golang 字符串中检查指定的 rune?


在 Go 中,字符串是 Unicode 字符的序列。字符串中的每个字符都由一个 Unicode 代码点表示,Unicode 代码点是 Unicode 标准中分配给每个字符的唯一整数。Go 中的 rune 只是 int32 类型的别名,用于表示 Unicode 代码点。在本文中,我们将讨论如何在 Golang 字符串中检查指定的 rune。

在 Golang 字符串中检查指定的 rune 相对简单。我们可以使用 strings.IndexRune 函数来检查给定字符串中是否存在特定 rune。

以下是 strings.IndexRune 函数的语法:

func IndexRune(s string, r rune) int

IndexRune 函数接受两个参数:s 和 r。s 是我们要在其中搜索指定 rune 的字符串,r 是我们要查找的 rune。

该函数返回给定字符串中指定 rune 的第一次出现的索引。如果在字符串中找不到指定的 rune,则该函数返回 -1。

示例

以下是一个代码片段,用于演示 strings.IndexRune 函数的使用:

package main

import (
   "fmt"
   "strings"
)

func main() {
   s := "Hello, World!"
   r := 'l'

   index := strings.IndexRune(s, r)

   if index == -1 {
      fmt.Printf("Rune '%c' not found in string '%s'\n", r, s)
   } else {
      fmt.Printf("Rune '%c' found at index %d in string '%s'\n", r, index, s)
   }
}

输出

Rune 'l' found at index 2 in string 'Hello, World!'

在这个例子中,我们定义了一个字符串 s 和一个 rune r,我们希望在字符串中搜索它。然后,我们用这两个参数调用 strings.IndexRune 函数,并将结果存储在 index 变量中。

然后,我们检查 index 的值是否为 -1,这表示在字符串中没有找到指定的 rune。如果是这种情况,我们将打印一条消息,指示未找到该 rune。否则,我们将打印一条消息,指示找到该 rune 的索引。

示例

这是另一个示例:

package main

import "fmt"

func runeExists(str string, r rune) bool {
   for _, c := range str {
      if c == r {
         return true
      }
   }
   return false
}

func main() {
   str := "hello, world!"
   r1 := 'o'
   r2 := 'z'
    
   if runeExists(str, r1) {
      fmt.Printf("The rune '%c' exists in the string '%s'\n", r1, str)
   } else {
      fmt.Printf("The rune '%c' does not exist in the string '%s'\n", r1, str)
   }
    
   if runeExists(str, r2) {
      fmt.Printf("The rune '%c' exists in the string '%s'\n", r2, str)
   } else {
      fmt.Printf("The rune '%c' does not exist in the string '%s'\n", r2, str)
   }
}

输出

The rune 'o' exists in the string 'hello, world!'
The rune 'z' does not exist in the string 'hello, world!'

在这个例子中,我们定义了一个名为 runeExists() 的函数,它接受一个字符串 str 和一个 rune r 作为输入。然后,该函数迭代字符串中的每个 rune,并将其与我们正在查找的 rune 进行比较。如果找到匹配项,则该函数返回 true,否则返回 false。

在 main() 函数中,我们定义了一个字符串 str 和两个 rune 变量 r1 和 r2。然后,我们调用 runeExists() 函数来检查 r1 和 r2 是否存在于字符串 str 中。根据结果,我们打印一条消息,指示该 rune 是否存在于字符串中。

结论

使用 strings.IndexRune 函数在 Golang 字符串中检查指定的 rune 是一项简单的任务。通过遵循本文中提供的语法和示例,您可以轻松地在任何 Golang 字符串中检查指定的 rune。

更新于: 2023年4月20日

714 次查看

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.