亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從字符串解析日期:隱藏的符文

從字符串解析日期:隱藏的符文

Go
飲歌長嘯 2022-09-12 20:23:07
我正在直接從HTML文件中解析日期,并嘗試將它們轉換為日期。但是,這樣做總是反映在錯誤中;最奇怪的部分是,如果我直接粘貼字符串,我能夠解析。layout := "02-01-2006 15:04:05"t, err := time.Parse(layout, *date)if err != nil {    fmt.Println( err)}收益 率:parsing time "12-06-2021   00:00:31" as "02-01-2006 15:04:05": cannot parse "  00:00:31" as "15"但是,如果我試圖直接從字符串解析,它可以工作:layout := "02-01-2006 15:04:05"date := "12-06-2021   00:00:31"t, err := time.Parse(layout, date)if err != nil {    fmt.Println( err)}工作正常。我嘗試以各種可能的方式刪除空格,但問題仍然存在:date2 := *datedate2 = strings.TrimSpace(date2)date2 = strings.TrimRight(date2, "\r\n")date2 = strings.TrimRight(date2, "\n")space := regexp.MustCompile(`\s+`)date2 = space.ReplaceAllString(date2, "")date2 = strings.ReplaceAll(date2, " ", "")date2 = strings.ReplaceAll(date2, "\r", "")date2 = strings.ReplaceAll(date2, "\n", "")這表明存在隱藏的符文。最后,我求助于在原始字符串(來自指針)和我粘貼的版本中打印實際的符文,這就是我得到的。原始字符串:0: U+0031 '1'1: U+0033 '3'2: U+002D '-'3: U+0030 '0'4: U+0037 '7'5: U+002D '-'6: U+0032 '2'7: U+0030 '0'8: U+0032 '2'9: U+0031 '1'10: U+00A012: U+0031 '1'13: U+0030 '0'14: U+003A ':'15: U+0030 '0'16: U+0030 '0'17: U+003A ':'18: U+0030 '0'19: U+0030 '0'手寫字符串:0: U+0031 '1'1: U+0032 '2'2: U+002D '-'3: U+0030 '0'4: U+0036 '6'5: U+002D '-'6: U+0032 '2'7: U+0030 '0'8: U+0032 '2'9: U+0031 '1'10: U+0020 ' '11: U+0030 '0'12: U+0030 '0'13: U+003A ':'14: U+0030 '0'15: U+0030 '0'16: U+003A ':'17: U+0033 '3'18: U+0032 '2'我們可以立即發現問題:在位置11處有一個額外的符文,但由于某種原因,它現在被顯示出來;怎么會這樣?這是什么?以及如何刪除它?
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

U+00A0 是不間斷空格字符。它通常用于格式化為供人類使用的日期時間,以確保日期時間不會被顯示程序包裝。

您可能只想先嘗試用常規空格替換任何字符。\uA0

至于為什么正則表達式不會做任何事情,它與你的正則表達式不匹配,因為文檔說它是嚴格的\s

\s             whitespace (== [\t\n\f\r ])


查看完整回答
反對 回復 2022-09-12
  • 1 回答
  • 0 關注
  • 86 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號