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 函数,我们可以验证任何字符串以检查它是否为数字。