佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > golang strings包的Replace的使用說明

golang strings包的Replace的使用說明

熱門標簽:網(wǎng)站排名優(yōu)化 AI電銷 服務外包 百度競價排名 鐵路電話系統(tǒng) 呼叫中心市場需求 地方門戶網(wǎng)站 Linux服務器


函數(shù)聲明:

func Trim(s string, cutset string) string

官方描述:

返回將 s 前后端所有 cutset 包含的 utf-8 碼值都去掉的字符串。

示例代碼:

package main
import (
 "fmt"
 "strings"
 _ "test/subpac"
)
func main(){
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "") ,"\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[ ]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", " ") ,"\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[!]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "!") , "\b]")
 fmt.Println("[ !!! Achtung! Achtung! !!! ]:[! ]:[", strings.Trim(" !!! Achtung! Achtung! !!! ", "! "), "\b]" )
}

輸出結果:

[ !!! Achtung! Achtung! !!! ]:[]:[ !!! Achtung! Achtung! !!! ]
[ !!! Achtung! Achtung! !!! ]:[ ]:[ !!! Achtung! Achtung! !!!]
[ !!! Achtung! Achtung! !!! ]:[!]:[ !!! Achtung! Achtung! !!! ]
[ !!! Achtung! Achtung! !!! ]:[! ]:[ Achtung! Achtung]

第一行 cutset 為空(不是空格):因此輸出原字符串。

第二行 cutset 為 ” “(空格):因此串首尾的兩個空格字符被刪除了。

第三行 cutset 為 “!” :收尾未匹配到該 cutset,因此輸出原字符串。

第四行 cutset 為 “! “:首先匹配到空格,串首尾空格字符被刪除,然后匹配到 “!”,繼續(xù)刪除首尾的各三個 “!”,于是得到該結果串。

注:輸出結果多余的空格是因為 Println 在輸出多個串時會在串之間添加空格。如下:

fmt.Println("123", "456", "789")

輸出:

123 456 789

補充:golang_strings:trim分割“/“出現(xiàn)的坑及解決辦法

問題描述

strings.Trim和strings.TrimLeft在分割帶有“https://”的字符串時,會多分割一些字符,對分割結果造成影響。

推測原因:

TrimLeft 只針對utf-8字符進行處理,相關處理可能出現(xiàn)問題。// todo源碼沒看太懂,哪位大佬明白的可以幫忙解釋下

解決辦法

測試代碼如下:

package main
import (
 "fmt"
 "strings"
)
// TrimLeft和Trim分割字符串時,對于有"/"的字符串切割會出現(xiàn)問題
// 切割前綴使用TrimPrefix,切割后綴使用TrimSuffix進行代替
func main() {
 Url := "https://www.baidu.com/material/list"
 fmt.Println(strings.TrimLeft(Url, "https://www.baidu.com")) // erial/list
 fmt.Println(strings.TrimPrefix(Url, "https://www.baidu.com")) // /material/list
 Url2 := ":www.baidu.com/material/list"
 fmt.Println(strings.Trim(Url, "https://www.baidu.com")) // erial/l
 fmt.Println(strings.Trim(Url2, ":www.baidu.com"))  // /material/list
 s := "Goodbye,, world!"
 fmt.Println(strings.TrimSuffix(s, ", world!")) // Goodbye,
}

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 詳解PHP用mb_string處理windows中文字符
  • 淺談Java中String的常用方法
  • JavaScript JSON.stringify()的使用總結
  • Java實用工具之StringJoiner詳解
  • golang 的string與[]byte轉換方式
  • Java基礎之StringBuffer詳解
  • 詳解java中String值為空字符串與null的判斷方法
  • Java利用StringBuffer替換特殊字符的方法實現(xiàn)
  • 詳解如何解決使用JSON.stringify時遇到的循環(huán)引用問題
  • Java中InputSteam怎么轉String

標簽:銅川 仙桃 湖南 湘潭 黃山 蘭州 衡水 崇左

巨人網(wǎng)絡通訊聲明:本文標題《golang strings包的Replace的使用說明》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    邢台市| 轮台县| 蒙阴县| 子洲县| 天镇县| 疏勒县| 靖安县| 策勒县| 年辖:市辖区| 陆良县| 镇江市| 灵石县| 苍溪县| 农安县| 即墨市| 镇巴县| 镇雄县| 富川| 长岭县| 遂平县| 乌鲁木齐县| 泸水县| 蒙自县| 张掖市| 贵溪市| 阳山县| 曲松县| 兴仁县| 邛崃市| 齐河县| 若羌县| 大方县| 冷水江市| 双鸭山市| 屏东市| 武功县| 广安市| 台安县| 炎陵县| 金塔县| 青海省|