C# 去除字串首尾字元或字串

來源:互聯網
上載者:User

標籤:資料庫   returns   嚴格   line   lan   判斷   c#   根據   trre   

     

在做一個屬性入庫的功能,將Excel屬性資料匯入到圖層要素當中,這裡Excel和SDE資料庫資料存在一個關聯欄位,通過關聯欄位值進行匹配屬性入庫。

      在實際業務中,由於普查資料往往某些欄位值比較複雜,在寫入到圖層中時使用者可能做一些簡化,例如一個要素編號為0532BH001,可能錄入到圖層中只錄入BH001,這樣就導致了圖層要素和Excel檔案關聯欄位的值並不一定是完全相等的,可能存在一定的匹配關係。

      這裡不考慮複雜的情況,只是考慮Excel中關聯欄位值是要素關聯欄位值加首碼、尾碼或者前尾碼都存在的情況。

      因為是以Excel作為基準來迴圈的,構造好欄位值後再圖層中進行Query操作尋找到相應的要素,所以不能通過在圖層要素關聯欄位中取出欄位值然後通過串連前尾碼的方式來判斷處理,只能通過對Excel中關聯欄位值進行截取的方式來處理。

      根據這裡的實際情況,格式比較固定,移除首碼、尾碼函數如下所示:

 

 ///<summary> /// 移除前置詞字元串  ///</summary>///<param name="val">原字串</param>///<param name="str">前置詞字元串</param> ///<returns></returns>private string GetRemovePrefixString(string val, string str){    string strRegex = @"^(" + str + ")";    return Regex.Replace(val, strRegex, ""); } ///<summary> /// 移除尾碼字串 ///</summary> ///<param name="val">原字串</param> ///<param name="str">尾碼字串</param> ///<returns></returns> private string GetRemoveSuffixString(string val, string str) {    string strRegex = @"(" + str + ")" + "$";    return Regex.Replace(val, strRegex, ""); }

 

延伸,如果對於字串要求不如此嚴格,只是單純的截取前後字串,那麼可以通過此種方式進行:

 

///<summary>/// 截前後字串///</summary> ///<param name="val">原字串</param>///<param name="str">要截掉的字串</param>///<param name="bAllStr">是否對整個字串進行截取///如果為true則對整個字串中匹配的進行截取///如果為false則只截取首碼或者尾碼</param>///<returns></returns>private string GetString(string val, string str, bool bAllStr){    return Regex.Replace(val, @"(^(" + str + ")" + (bAllStr ? "*" : "") + "|(" + str + ")" + (bAllStr ? "*" : "") + "$)", "");}

 

如果是截取單個字元而不是字串,可以通過TrimStart或者TrimEnd函數來處理:

 

/// <summary>/// 截前後字元/// </summary>/// <param name="val">原字串</param>/// <param name="c">要截取的字元</param>/// <returns></returns>private string GetString(string val, char c){    return val.TrimStart(c).TrimEnd(c); }

 

以上動圖由“圖鬥羅”提供

 

C# 去除字串首尾字元或字串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.