zoukankan      html  css  js  c++  java
  • C# 去除字符串首尾字符或字符串

          在做一个属性入库的功能,将Excel属性数据导入到图层要素当中,这里Excel和SDE数据库数据存在一个关联字段,通过关联字段值进行匹配属性入库。

          在实际业务中,由于普查数据往往某些字段值比较复杂,在写入到图层中时用户可能做一些简化,例如一个要素编号为0532BH001,可能录入到图层中只录入BH001,这样就导致了图层要素和Excel文件关联字段的值并不一定是完全相等的,可能存在一定的匹配关系。

          这里不考虑复杂的情况,只是考虑Excel中关联字段值是要素关联字段值加前缀、后缀或者前后缀都存在的情况。

          因为是以Excel作为基准来循环的,构造好字段值后再图层中进行Query操作查找到相应的要素,所以不能通过在图层要素关联字段中取出字段值然后通过连接前后缀的方式来判断处理,只能通过对Excel中关联字段值进行截取的方式来处理。

          根据这里的实际情况,格式比较固定,移除前缀、后缀函数如下所示:

       1: ///<summary>
       2: /// 移除前缀字符串
       3: ///</summary>
       4: ///<param name="val">原字符串</param>
       5: ///<param name="str">前缀字符串</param>
       6: ///<returns></returns>
       7: private string GetRemovePrefixString(string val, string str)
       8: {
       9:     string strRegex = @"^(" + str + ")";
      10:     return Regex.Replace(val, strRegex, "");
      11: }
      12: ///<summary>
      13: /// 移除后缀字符串
      14: ///</summary>
      15: ///<param name="val">原字符串</param>
      16: ///<param name="str">后缀字符串</param>
      17: ///<returns></returns>
      18: private string GetRemoveSuffixString(string val, string str)
      19: {
      20:     string strRegex = @"(" + str + ")" + "$";
      21:     return Regex.Replace(val, strRegex, "");
      22: }

          延伸,如果对于字符串要求不如此严格,只是单纯的截取前后字符串,那么可以通过此种方式进行:

       1: ///<summary>
       2: /// 截前后字符串
       3: ///</summary>
       4: ///<param name="val">原字符串</param>
       5: ///<param name="str">要截掉的字符串</param>
       6: ///<param name="bAllStr">是否对整个字符串进行截取
       7: ///如果为true则对整个字符串中匹配的进行截取
       8: ///如果为false则只截取前缀或者后缀</param>
       9: ///<returns></returns>
      10: private string GetString(string val, string str, bool bAllStr)
      11: {
      12:     return Regex.Replace(val, @"(^(" + str + ")" + (bAllStr ? "*" : "") + "|(" + str + ")" + (bAllStr ? "*" : "") + "$)", "");
      13: }

          如果是截取单个字符而不是字符串,可以通过TrimStart或者TrimEnd函数来处理:

       1: /// <summary>
       2: /// 截前后字符
       3: /// </summary>
       4: /// <param name="val">原字符串</param>
       5: /// <param name="c">要截取的字符</param>
       6: /// <returns></returns>
       7: private string GetString(string val, char c)
       8: {
       9:     return val.TrimStart(c).TrimEnd(c);
      10: }
  • 相关阅读:
    JMeter学习-图形化 HTML 报表概要说明
    转《Python爬虫学习系列教程》学习笔记
    PYTHON __main__
    python property
    loadrunner脚本,如何获取lr的变量以及lr变量和其他程序语言的变量的转换
    参考链接
    彻底抛弃脚本录制,LR脚本之使用web_custom_request函数自定义http请求
    如何看Analysis分析图
    Ubuntu16.04安装QQ2015
    Ubuntu16.04运行LSD-SLAM踩坑笔记
  • 原文地址:https://www.cnblogs.com/Jingkunliu/p/5336880.html
Copyright © 2011-2022 走看看