第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何在字符串中的特定位置找到精確的字符

如何在字符串中的特定位置找到精確的字符

Go
www說 2023-06-26 17:35:55
我有以下字符串:absoloute-power正如您所看到的,字符串中的第 10 位置有一個“-”。如何編寫 go 代碼來驗(yàn)證任何給定字符串的第 10 個位置是否有“-”?
查看完整描述

3 回答

?
慕運(yùn)維8079593

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個贊

在 Go 中,字符串字符值是以 UTF-8 編碼的 Unicode 字符。UTF-8 是一種可變長度編碼,每個字符使用一到四個字節(jié)。


對于你的例子:


package main


import (

    "fmt"

    "unicode/utf8"

)


func is10Hyphen(s string) bool {

    for n := 1; len(s) > 0; n++ {

        r, size := utf8.DecodeRuneInString(s)

        if r == utf8.RuneError && (size == 0 || size == 1) {

            return false

        }

        if n == 10 {

            return r == '-'

        }

        s = s[size:]

    }

    return false

}


func main() {

    s := "absoloute-power"

    fmt.Println(is10Hyphen(s))

    s = "absoloute+power"

    fmt.Println(is10Hyphen(s))

    s = "absoloute"

    fmt.Println(is10Hyphen(s))

}

游樂場:https://play.golang.org/p/h9rMQWWAdvb


輸出:


true

false

false

如果您愿意考慮遇到 Unicode 替換字符錯誤,那么對于您的示例:


func is10Hyphen(s string) bool {

    n := 0

    for _, r := range s {

        if r == utf8.RuneError {

            return false

        }

        n++

        if n == 10 {

            return r == '-'

        }

    }

    return false

}

游樂場: https: //play.golang.org/p/SHbPAnldTyw


查看完整回答
反對 回復(fù) 2023-06-26
?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個贊

您可以使用符文數(shù)組:


text := "ifthisisyourstring"

chars := []rune(text)

if chars[0] == '1' {

    // is true

}


查看完整回答
反對 回復(fù) 2023-06-26
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個贊

由于string實(shí)際上是一個數(shù)組,所以可以直接訪問第10個位置。當(dāng)然,需要避免“超出范圍”錯誤。對于非ascii編碼的情況,將其轉(zhuǎn)換為rune數(shù)組


package main


import (

  "fmt"

)


func main() {

  fmt.Println(Check("213123-dasdas"))

  fmt.Println(Check("213123sdas"))

  fmt.Println(Check("213123das-das"))

  fmt.Println(Check("213123dasda-s"))

  fmt.Println(Check("---------2----------"))

}


func Check(ss string) bool {

  r = []rune(ss)

  if len(r) < 10 {

    return false

  }

  return ss[r] == '-'

}


查看完整回答
反對 回復(fù) 2023-06-26
  • 3 回答
  • 0 關(guān)注
  • 210 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號