golang去掉字符串中多余空格

目的:刪除字符串中多余的空格(含tab),有多個(gè)空格時(shí),僅保留一個(gè)空格,同時(shí)將字符串中的tab換為空格
方法

func DeleteExtraSpace(s string) string {
    //刪除字符串中的多余空格,有多個(gè)空格時(shí),僅保留一個(gè)空格
    s1 := strings.Replace(s, "  ", " ", -1)      //替換tab為空格
    regstr := "\\s{2,}"                          //兩個(gè)及兩個(gè)以上空格的正則表達(dá)式
    reg, _ := regexp.Compile(regstr)             //編譯正則表達(dá)式
    s2 := make([]byte, len(s1))                  //定義字符數(shù)組切片
    copy(s2, s1)                                 //將字符串復(fù)制到切片
    spc_index := reg.FindStringIndex(string(s2)) //在字符串中搜索
    for len(spc_index) > 0 {                     //找到適配項(xiàng)
        s2 = append(s2[:spc_index[0]+1], s2[spc_index[1]:]...) //刪除多余空格
        spc_index = reg.FindStringIndex(string(s2))            //繼續(xù)在字符串中搜索
    }
    return string(s2)
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容