我希望您能够检查字符串是否为空并解析时间字符串。
请查看以下代码:
如何从字符串中删除空字符?或者如何检查字符串是否包含空字符?
请查看以下代码:
valueStr = strings.Replace(string(valueStr), " ", "", -1)
valueStr = strings.Replace(string(valueStr), "\t", "", -1)
valueStr = strings.Replace(string(valueStr), "\n", "", -1)
valueStr = strings.Replace(string(valueStr), "\r", "", -1)
var re = regexp.MustCompile(`\s`)
valueStr = re.ReplaceAllString(valueStr, "")
if valueStr != "" {
fmt.Printf("-------- valueStr %c: \n", valueStr) // o/p => -------- valueStr %!c(string= ):
fmt.Printf("-------- valueStr %#v: \n", valueStr) // o/p => -------- valueStr "\x00":
fmt.Printf("-------- valueStr %x: \n", valueStr) // o/p => -------- valueStr 00:
fmt.Println("-------- valueStr length: ", len(valueStr)) // o/p => -------- valueStr length: 1
// considering valueStr is not empty, parse string to time
time, err := time.Parse(TIME_FORMAT, strings.TrimSpace(valueStr))
if err != nil {
fmt.Println("-------- Error converting time: ", err) // o/p => -------- Error converting time: parsing time " " as "15:04:05": cannot parse " " as "15"
return
}
} else {
// another code
}
如何从字符串中删除空字符?或者如何检查字符串是否包含空字符?
rune
(它们只是int32
数字)始终比检查string
更有效率,因为后者包含一个头部(长度+数据指针)和一系列字节。 - iczastrings.Replacer
高度优化,与strings.Map()
一样出色(因为它不必对UTF-8字节序列进行解码和编码)。 - icza