簡體   English   中英

如何使用 Go lang 在另一個字符串中插入一個字符串

[英]How to insert a string inside another string using Go lang

大多數編程語言都有一個函數,允許我們將一個字符串插入另一個字符串。 例如,我可以獲取字符串 Green 和字符串 HI,並執行 Green.insert(HI,2) 操作以獲取結果字符串 GrHIeen。 但是標准的 GO 語言庫沒有這樣的功能。

是否有任何 Golang 函數可用於在字符串中插入字符串?

例如

string = "</table></body></html>"

// I want Following Output

string = "</table><pagebreak /></body></html>"

您可以簡單地對字符串使用切片操作:

包主

func main() {
    p := "green"
    index := 2
    q := p[:index] + "HI" + p[index:]
    fmt.Println(p, q)
}

工作示例:https: //play.golang.org/p/01phuBKuBB

您可以將第一個字符串變成 Sprintf 的模板。 它看起來像這樣:

p := "</table>%s</body></html>"
out := fmt.Sprintf(p,"<pagebreak />")

此處的工作代碼:https: //play.golang.org/p/AInfyQwpy2

我曾使用runebytes.Buffer在兩個索引之間插入<\b>粗體標簽並構建如下結果字符串。

for j:=0; j< len(resultstrIntervals);j++{

        startIndex:= resultstrIntervals[j].Start
        endIndex:= resultstrIntervals[j].End

        for i <= endIndex && i <= len(s) {

            if i == startIndex{
                buffer.WriteRune('<')
                buffer.WriteRune('b')
                buffer.WriteRune('>')


            }else if i == endIndex{

                buffer.WriteRune('<')
                buffer.WriteRune('/')
                buffer.WriteRune('b')
                buffer.WriteRune('>')

            }
            if i < len(strArr){
                buffer.WriteRune(strArr[i])
            }
            i++

        }

    }
    fmt.Print(buffer.String())

例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM