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

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

從字符串中提取引用部分

從字符串中提取引用部分

Go
jeck貓 2023-07-10 16:49:33
我正在嘗試以下代碼從字符串中提取帶引號的部分:package mainimport ("fmt")func main(){    var oristr = "This is a \"test string\" for testing only"    var quotedstr = ""    var newstr = ""    var instring = false    fmt.Println(oristr)    for i,c := range oristr {        fmt.Printf("Char number: %d; char: %c\n", i, c);        if c = `"` {            if instring            {instring=false}            else {instring=true}}        if instring        {quotedstr += c}        else {newstr += c}    }    fmt.Printf("Newstr: %s; quotedstr = %s", newstr, quotedstr )}但是,我收到以下錯誤:# command-line-arguments./getstring.go:11:14: syntax error: c = `"` used as value./getstring.go:12:15: syntax error: unexpected newline, expecting { after if clause./getstring.go:14:4: syntax error: unexpected else, expecting }./getstring.go:15:3: syntax error: non-declaration statement outside function body為什么我會收到此錯誤以及如何糾正此錯誤?另外,這種方法可以嗎?還是其他方法可能更好?
查看完整描述

1 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

這是獲得你想要的東西的最基本的方法。它可以改進得更加健壯等等。


package main


import (

    "fmt"

    "regexp"

)


func main() {

    var oristr = "This is a \"test string\" for containing multiple \"test strings\" and another \"one\" here"

    re := regexp.MustCompile(`"[^"]+"`)

    newStrs := re.FindAllString(oristr, -1)

    for _, s := range newStrs {

        fmt.Println(s)

    }

}


查看完整回答
反對 回復 2023-07-10
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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