Go 语言程序检查字符串是否为数字


在本教程中,我们将学习如何使用 Go 编程语言检查给定的字符串是否为数字。我们将使用 Go 中的 regexp 包来验证字符串的数字模式。

数字字符串示例 - 包含数字值的字符串

T20CRICKET
GOOD1
100PERCENT

语法

func MustCompile(str string) *Regexp
//This function creates the regular expression

func MatchString(pattern string, s string) (matched bool, err error)
// This function returns a Boolean value that indicates whether a pattern is matched by the string

示例 1:Go 语言程序代码,在一个函数中检查字符串是否为数字

算法

  • 步骤 1 - 导入 fmt 包和 regexp 包。

  • 步骤 2 - 启动 main 函数。

  • 步骤 3 - 声明字符串类型和布尔类型的变量。

  • 步骤 4 - 初始化字符串变量。

  • 步骤 5 - 调用 regexp.MustCompile()MatchString() 函数。

  • 步骤 5 - 将布尔值初始化为 numeric。

  • 步骤 5 - 使用 fmt.Println() 打印结果。

示例

// GOLANG PROGRAM TO CHECK IF A STRING IS NUMERIC // fmt package allows us to print anything on the screen. package main import ( "fmt" // The regexp package provides support for regular expressions "regexp" ) func main() { // declare the variables var word string var numeric bool // initialize the variables word = "T20cricket" fmt.Println("Give string = ",word) // calling regexp.MustCompile() function to create the regular expression // calling MatchString() function that returns a bool that indicates whether a pattern is matched by the string numeric = regexp.MustCompile(`\d`).MatchString(word) // print the result fmt.Println(" check if a string is numeric - True/False") fmt.Println(numeric) }

输出

Give string =  T20cricket
 check if a string is numeric - True/False
true

代码描述

  • 在上面的程序中,我们首先声明 package main

  • 然后导入 fmt 包,其中包含 fmt 包的文件

  • 之后我们导入 regexp 包,它实现了正则表达式搜索

  • 现在开始 main() 函数。GO 程序执行从 main() 函数开始

  • 接下来,我们声明字符串类型和布尔类型的变量。Word 是字符串类型变量,numeric 是布尔变量

  • 稍后,我们调用两个函数 regexp.MustCompile()(此函数创建正则表达式)和 MatchString() 函数(此函数返回一个布尔值,指示字符串是否与模式匹配)

  • 最后,使用 fmt.Println() 打印字符串是否为数字的结果。此函数定义在 fmt 包下,它有助于写入标准输出。

示例 2:Go 语言程序代码,在两个独立的函数中检查字符串是否为数字

算法

  • 步骤 1 - 导入 fmt 包和 regexp 包。

  • 步骤 2 - 创建 is_numeric() 函数。

  • 步骤 3 - 调用 regexp.MustCompile() 和 MatchString() 函数。

  • 步骤 4 - 启动 main() 函数。

  • 步骤 5 - 声明字符串变量并初始化它。

  • 步骤 6 - 调用 is_numeric() 函数。

  • 步骤 7 - 使用 fmt.Println() 打印最终结果。

示例

// GOLANG PROGRAM TO CHECK IF A STRING IS NUMERIC // fmt package allows us to print anything on the screen. package main import ( "fmt" // The regexp package provides support for regular expressions "regexp" ) // create a function to check if string is numeric func is_numeric(word string) bool { return regexp.MustCompile(`\d`).MatchString(word) // calling regexp.MustCompile() function to create the regular expression. // calling MatchString() function that returns a bool that // indicates whether a pattern is matched by the string. } // start the function main() func main() { fmt.Println("Golang program to check if a string is numeric") // declare the string variable var word string // initialize the string variable word = "Good" // calling the function is_numeric and storing // the result in the boolean variable isnumeric isnumeric := is_numeric(word) if isnumeric { fmt.Println("Given String =", word,"\nit is numeric") } else{ fmt.Println("Given String =", word,"\nit is not numeric") } // print the final answer }

输出

Golang program to check if a string is numeric

Given String = Good

it is not numeric

代码描述

  • 在上面的程序中,我们首先声明 package main。

  • 我们必须导入 fmt 包,其中包含 fmt 包的文件。

  • 除此之外,我们还将导入 regexp 包,它实现了正则表达式搜索。

  • 接下来,我们创建一个函数 is_numeric() 来识别给定的字符串是否为数字。

  • is_numeric() 函数中,我们调用了两个内置函数 regexp.MustCompile()(此函数创建正则表达式)和 MatchString() 函数(此函数返回一个布尔值,指示字符串是否与模式匹配)。

  • 现在开始 main() 函数。GO 程序执行从 main() 函数开始。

  • 之后,我们声明一个字符串变量“word”并用一个值初始化它,你需要找到该字符串值是否为数字。

  • 然后是调用 is_numeric() 函数并将结果存储在布尔变量 isnumeric 中。

  • 最后,使用 fmt.Println() 打印字符串是否为数字的结果。

结论

在以上两个示例中,我们已成功编译并执行了 Go 语言程序代码,以检查字符串是否为数字。

Go 语言中的 regexp 包是一个内置包,允许你编写任意复杂度的正则表达式。我们使用 regexp 包来调用内置函数:(1)MustCompile() 函数,它

编译正则表达式并返回实例。(2)MatchString() 函数,它将比较正则表达式与传递的字符串。如果评估的正则表达式与字符串匹配,则它将简单地返回 true,否则如果模式不匹配,则返回 false。因此,通过使用 MustCompile 和 MatchString 函数,我们可以验证任何字符串以检查它是否为数字。

更新于:2022年11月15日

9K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告