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: }
时间: 2024-07-29 13:04:07

C# 去除字符串首尾字符或字符串的相关文章

strip()函数---去除字符串首尾字符

#去除空 >>> s = ' 0000a0bc0000' >>> s.strip() '0000a0bc0000' #去除首尾字符'0' >>> s = '0000a0bc0000' >>> s.strip('0') 'a0bc' 不传入参数默认去除首尾空格 strip()函数只能去除首尾字符,中间的字符并不能去除 原文地址:https://www.cnblogs.com/thebear/p/9260676.html

去除String首尾字符

参考:http://blog.csdn.net/csdnbenbenchong/article/details/7667199 内容: 1 /** 2 * 字符串工具类. 3 * @author sunruyi 4 */ 5 public class StringUtil { 6 /** 7 * 去除字符串首尾出现的某个字符. 8 * @param source 源字符串. 9 * @param element 需要去除的字符. 10 * @return String. 11 */ 12 pub

c语言指针字符串与字符数组字符串的区别

#include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指向的是同一块常量区内存 //且常量区内存不允许被程序修改 char *str1 = "hello"; char *str2 = "hello"; //报错 // *(str1+2)='A'; printf("str1 = %p\n",str1); p

字符串----表示字符的字符串

题目:请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值. 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是. function isNumeric(s){ var

PHP只显示姓名首尾字符,隐藏中间字符并用*替换

//测试时文件的编码方式要是UTF8 $str='中文a字1符'; echo strlen($str).'<br>';//14 echo mb_strlen($str,'utf8').'<br>';//6 echo mb_strlen($str,'gbk').'<br>';//8 echo mb_strlen($str,'gb2312').'<br>';//10 /** * 只保留字符串首尾字符,隐藏中间用*代替(两个字符时只显示第一个) * @param

Java去除字符串首尾特定字符

工作中,由于mysql存储格式特定,字符串首尾均带有单引号,需要对首尾单引号做一个去除处理.我将此封装到一个公共的方法里,代码如下: 1 /** 2 * 去除首尾指定字符 3 * @param str 字符串 4 * @param element 指定字符 5 * @return 6 */ 7 public static String trimFirstAndLastChar(String str, String element){ 8 boolean beginIndexFlag = true

【iOS】去除字符串首尾空格或某字符

在iOS的实际开发中,常会出现需要去除空格的情况,总结有三种情况: 去除字符串首尾连续字符(如空格): 去除字符串首部连续字符(如空格): 去除字符串尾部连续字符(如空格): 去除字符串首尾连续字符(如空格) NSString *a = @" a sdf "; [a stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 去除字符串首部连续字符(如空格): NSString

去除字符串首尾空格和特殊字符

去除字符串首尾空格和特殊字符 用户在输入数据时,经常会在无意中输入多余的空格,在有些情况下,字符串中不允许出现空格和特殊字符,此时就需要去除字符串中的空格和特殊字符.在PHP中提供了trim()函数去除字符串左右两边的空格和特殊字符.ltrim()函数去除字符串左边的空格和特殊字符.rtrim()函数去除字符串中右边的空格和特殊字符. 1.trim()函数 trim()函数用于去除字符串开始位置以及结束位置的空格,并返回去掉空格后的字符串. 语法格式如下: string trim(string

【Python实践-4】切片操作去除字符串首尾的空格

1 #利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法 2 def trim(s): 3 while s[0:1]==' ': 4 s=s[1:] 5 while s[(len(s)-1):len(s)]==' ': 6 s=s[:-1] 7 return s 8 9 s=input('请输入一个字符串:') 10 print('去除首尾空格后',trim(s)) 知识点: 取一个list或tuple的部分元素,比如取list的前3个元素,对这