Golang : How to check if input string is a word?
Problem :
I'm writing a parser and I need to determine if the user input is a word or something else? How to do that?
Solution :
Use the IsWordChar()
function from syntax/regexp
package. For example :
NOTE : This solution is for ASCII-only: the word characters are [A-Za-z0-9_].
package main
import (
"fmt"
"regexp/syntax"
)
func main() {
word1 := []rune("alpha")
word2 := rune('吃') // no need for array if for single rune
word3 := []rune("1234")
word4 := []rune(" $#$^@#$ ")
ok := syntax.IsWordChar(word1[0])
fmt.Printf("%v is a word ? : %v \n", string(word1), ok)
ok = syntax.IsWordChar(word2)
fmt.Printf("%v is a word ? : %v \n", string(word2), ok)
ok = syntax.IsWordChar(word3[0])
fmt.Printf("%v is a word ? : %v \n", string(word3), ok)
ok = syntax.IsWordChar(word4[0])
fmt.Printf("%v is a word ? : %v \n", string(word4), ok)
}
Output :
alpha is a word ? : true
吃 is a word ? : false
1234 is a word ? : true
$#$^@#$ is a word ? : false
Reference :
https://www.socketloop.com/references/golang-regexp-syntax-iswordchar-function-example
See also : Golang : How to tokenize source code with text/scanner package?
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+5k Golang : Detect variable or constant type
+10.6k Linux : How to install driver for 600Mbps Dual Band Wifi USB Adapter
+18.4k Swift : Convert (cast) Int to int32 or Uint32
+29.2k Golang : How to redirect to new page with net/http?
+26k Golang : Convert integer to binary, octal, hexadecimal and back to integer
+37.7k Golang : How to read CSV file
+6.5k Golang : Handling Yes No Quit query input
+9.3k Golang : Meaning of omitempty in struct's field tag
+10.9k Golang : Flush and close file created by os.Create and bufio.NewWriter example
+14.2k Golang : How to add color to string?
+7.9k Golang : Intercept and compare HTTP response code example
+8.8k Golang : Test a slice of integers for odd and even numbers