C#字符串截取学习总结

来源:互联网 发布:电机控制软件招聘 编辑:程序博客网 时间:2024/05/29 02:52

C#几个经常用到的字符串截取

http://www.cnblogs.com/lykbk/archive/2012/06/28/lyk1232132.html


一、


1、取字符串的前i个字符


(1)string str1=str.Substring(0,i);


(2)string str1=str.Remove(i,str.Length-i);


2、去掉字符串的前i个字符


string str1=str.Remove(0,i);


string str1=str.SubString(i);


3、从右边开始取i个字符:


string str1=str.SubString(str.Length-i);


string str1=str.Remove(0,str.Length-i);


4、从右边开始去掉i个字符:


string str1=str.Substring(0,str.Length-i);


string str1=str.Remove(str.Length-i,i);


5、


6 、如果字符串中有"abc"则替换成"ABC"
   str=str.Replace("abc","ABC");


7、c#截取字符串最后一个字符的问题!!!!!!!!!!!!!!!!!!!!!


str1.Substring(str1.LastIndexOf(",")+1);


8、C# 截取字符串最后一个字符


k = k.Substring(k.Length-1, 1);
========

C#截取字符串的方法小结

http://www.cnblogs.com/cang12138/p/6006964.html
1、根据单个分隔字符用split截取


string st="GT123_1";
string[] sArray=st.split('_');
输出:sArray[0]="GT123",sArray[1]="1"。


2、利用多个字符来分隔字符串


string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char[2] { 'j', '_' });
foreach(string e in sArray)
{
    Console.WriteLine(e);
}
输出:sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123"。


3、根据字符串或字符串组来截取字符串


string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
    Console.WriteLine(e);
}
输出:sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123"。


4、提取字符串中的第i个字符开始的长度为j的字符串;


string str = "GTAZB_JiangjBen_123";
int start=3,length=8; 
Console.WriteLine(str.Substring(start-1, length));
输出:AZB_Jian。


5、提取字符串中右数长度为i的字符串


string str = "GTAZB_JiangjBen_123";
string tSt;
int i=5;
tSt = str.Substring(str.Length - i); 
Console.WriteLine(tSt);
输出:n_123。


6、替换字符串中的特定字符串


string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("123","321");
Console.WriteLine(tSt);
输出:GTAZB_JiangjBen_321。


7、删除字符串中的特定字符串Jiangj


string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
输出:GTAZB_Ben_123。


8、删除指定位置(第i个)的指定长度(length)的字符串


string str = "GTAZB_JiangjBen_123";
int i=5,length=8;
str=str.remove(i,length);
console.writeline(str);
输出:GTAZBen_123。
========

C#几种截取字符串的方法(split 、Substring、Replace、remove)

http://blog.csdn.net/wangshubo1989/article/details/46905881  


C#截图字符串常用的方法有 split 、Substring、Replace、remove等。
split的使用:  
1. Split( Char ()) 
    返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组的元素分隔)。
    根据单个分隔字符用split截取。 
    例如 复制代码代码如下: 
    string st="GT123_1"; 
    string[] sArray=st.Split(‘_’);// 一定是单引 
    即可得到sArray[0]="GT123",sArray[1]="1"; 
2.利用多个字符来分隔字符串 
    例如 复制代码代码如下: 
    string str = "GTAZB_JiangjBen_123"; 
    string[] sArray = str.Split(new char[2] { 'j', '_' }); 
    foreach(string e in sArray) 
    { Console.WriteLine(e); } 
    得到sArray[0]="GTAZB",sArray[1]="Jiang",sArray[2]="Ben",sArray[3]="123"; 
3.Split( String (), StringSplitOptions) 
   返回的字符串数组包含此字符串中的子字符串(由指定字符串数组的元素分隔)。参数指定是否返回空数组元素。             RemoveEmptyEntries表示要省略返回的数组中的空数组元素 
   根据字符串或字符串组来截取字符串 
   例如 复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries); 
   foreach(string e in sArray) 
  { Console.WriteLine(e); } 
   得到sArray[0]="GTAZB_",sArray[1]="ang",sArray[2]="en_123"; 


Substring的使用: 
1. Substring(Int32, Int32) 
   从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。 
   提取字符串中的第i个字符开始的长度为j的字符串; 
   例如 复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   int start=3,length=8; 
   Console.WriteLine(str.Substring(start-1, length)); 
   输出得到AZB_Jian。 
2. Substring(Int32) 
   从此实例检索子字符串。子字符串从指定的字符位置开始。 
   提取字符串中右数长度为i的字符串 
   复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   string tSt; int i=5; 
   tSt = str.Substring(str.Length - i); 
   Console.WriteLine(tSt); 
   输出n_123; 


Replace的使用: 
1. Replace(String, String) 
   返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。 
   替换字符串中的特定字符串 
   复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   string tSt; 
   tSt = str.Replace("123","321"); 
   Console.WriteLine(tSt); 
   输出GTAZB_JiangjBen_321 
2. 删除字符串中的特定字符串Jiangj 
   复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   string tSt; tSt = str.Replace("Jiangj",""); 
   Console.WriteLine(tSt); 
   输出GTAZB_Ben_123 
3. Replace(Char, Char) 
返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。 
下面的示例将一系列数字之间的空白替换为逗号,从而创建以逗号分隔的值列表。 
public static void Main() 

   string str = "1 2 3 4 5 6 7 8 9"; 
   Console.WriteLine("Original string: \"{0}\"", str); 
   Console.WriteLine("CSV string: \"{0}\"", str.Replace(' ', ',')); 
}
输出:Original string: "1 2 3 4 5 6 7 8 9" 
      CSV string: "1,2,3,4,5,6,7,8,9" 


remove的使用: 
1. Remove(Int32, Int32) 
   从此实例中的指定位置开始删除指定数目的字符。 
   删除指定位置(第i个)的指定长度(length)的字符串 
   复制代码代码如下: 
   string str = "GTAZB_JiangjBen_123"; 
   int i=5,length=8; 
   str=str.remove(i, length); 
   console.writeline(str); 
   输出GTAZBen_123。 
2. Remove(Int32) 
   删除此字符串中从指定位置到最后位置的所有字符。 
   string s = "abc---def"; 
   Console.WriteLine("{0}", s.Remove(3)); 
   输出:abc
----------------------------------------------------------------------------------------------------------------
    public string[] Split(params char[] separator)
    Split 方法提取此字符串中的子字符串,这些子字符串由 separator 参数中的一个或多个字符串分隔,然后该方法将这些子字符串作为数组的元素返回。 Split 方法使用区分大小写的序号排序规则执行比较,从而查找分隔符。 
    Split 方法忽略 separator 的任何值为 Nothing 或空字符串 ("") 的元素。 为了在 separator 中的字符串具有公共字符的情况下避免出现不明确的结果, Split 操作从实例值的开始进行到结尾,并匹配 separator 中与实例中的分隔符相等的第一个元素。 实例中子字符串的出现顺序优先于 separator 中元素的顺序。 例如,考虑值为“abcdef”的实例。如果 separator 中的第一个元素为“ef”,且第二个元素为“bcde”,则拆分操作的结果将是“a”和“f”。 这是因为先遇到实例中的子字符串“bcde”,且它匹配 separator 中的元素,然后才遇到子字符串“f”。 不过,如果 separator 的第一个元素为“bcd”,且第二个元素为“bc”,则拆分操作的结果将是“a”和“ef”。 这是因为“bcd”是 separator 中第一个与实例中的分隔符匹配的分隔符。 如果颠倒分隔符的顺序,使得第一个元素为“bc”且第二个元素为“bcd”,则结果将是“a”和“def”。 
性能注意事项 
    Split 方法为返回的数组对象分配内存,同时还为每一个数组元素分配一个 String 对象。 如果您的应用程序要求达到最佳性能,或者如果在您的应用程序中内存分配管理很关键,请考虑使用 IndexOf 或 IndexOfAny 方法,也可以选择使用 Compare 方法,在字符串中定位子字符串。 如果在分隔符字符处分割字符串,请使用 IndexOf 或 IndexOfAny 方法在字符串中定位分隔符字符。 如果在分隔符字符串处分割字符串,请使用 IndexOf 或IndexOfAny 方法定位分隔符字符串的第一个字符。 然后使用 Compare 方法确定第一个字符后面的字符是否等于分隔符字符串的其余字符。 此外,如果在多个 Split 方法调用中使用相同的字符集拆分字符串,请考虑创建一个数组并在每个方法调用中都引用该数组。 这可以极大地减少每个方法调用的额外系统开销。
========

C#字符串的截取函数用法总结

http://www.jb51.net/article/56910.htm
这篇文章主要介绍了C#字符串的截取函数用法,实例总结了substring,Remove,indexOf等函数的用法,并对具体应用进行了实例分析,需要的朋友可以参考下
..本文实例总结了C#常用的字符串截取函数用法。分享给大家供大家参考。具体分析如下:


在C#中字符串截取函数包括有substring 函数,Remove 函数,indexOf 函数,它们三个都可以对字符串进行截取操作,下面我们来分别介绍一下。


下面是截取字符串过程中我们必须知道的以下函数:substring 函数、Remove 函数、indexOf函数.


substring 函数:
  返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。
  如果未指定第三个参数,将返回从第二个参数指定的位置开始直到字符串结尾的子字符串。


Remove 函数:
  Remove (int ch ,int fromIndex)去掉从ch开始到了fromIndex的字符串。


indexOf 函数:
  int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引。
  int indexOf(int ch, int fromIndex) 从指定的索引开始搜索,返回在此字符串中第一次出现指定字符处的索引。
  int indexOf(String str) 返回第一次出现的指定子字符串在此字符串中的索引。
  int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。
例:




复制代码 代码如下:string str="123abc456";
int i=3;
1 取字符串的前i个字符


复制代码 代码如下:str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:


复制代码 代码如下:str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开始取i个字符:


复制代码 代码如下:str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开始去掉i个字符:


复制代码 代码如下:str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中是否有"abc" 有则去掉之


复制代码 代码如下:using System.Text.RegularExpressions;
  string str = "123abc456";
  string a="abc";
  Regex r = new Regex(a);
  Match m = r.Match(str);
  if (m.Success)
  {
  //下面两个取一种即可。
  str=str.Replace(a,"");
  Response.Write(str);
  string str1,str2;
  str1=str.Substring(0,m.Index);
  str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
  Response.Write(str1+str2);
  }
6 如果字符串中有"a"则替换成"A"


复制代码 代码如下:str=str.Replace("a","A");
string str="adcdef"; int indexStart = str.IndexOf("d");
  int endIndex =str.IndexOf("e");
  string toStr = str.SubString(indexStart,endIndex-indexStart);
c#截取字符串最后一个字符的问题!


复制代码 代码如下:str1.Substring(str1.LastIndexOf(",")+1);
C# 截取字符串最后一个字符


复制代码 代码如下:k = k.Substring(k.Length-1, 1);
补充:


中文字符串截取函数


复制代码 代码如下:///str_value 字符
///str_len 要截取的字符长度
public string leftx(string str_value,int str_len)
{
   int p_num = 0;   
   int i;
   string New_Str_value = "";
   if (str_value=="")
   {
    New_Str_value = "";
   }
   else
   {
   int Len_Num = str_value.Length;
  
   //if (Len_Num < str_len)
   //{
   // str_len = Len_Num;
   //}


   for (i = 0;i<=Len_Num - 1; i++)
    {
     //str_value.Substring(i,1);
     if (i >Len_Num) break;
     char c  = Convert.ToChar(str_value.Substring(i,1));
     if  (((int)c > 255) || ((int)c<0))
     {
      p_num = p_num + 2;
     }
     else
     {
      p_num = p_num + 1;
     }
     if (p_num >= str_len)
     {
      
      New_Str_value = str_value.Substring(0,i+1);
      
      break;
     }
     else
     {
      New_Str_value = str_value;      
     }
   
    }
      }
   return New_Str_value;
}
========

C#实现左截取和右截取字符串实例



这篇文章主要介绍了C#实现左截取和右截取字符串实例,是针对字符串的常用操作,非常具有实用价值,需要的朋友可以参考下
..本文实例讲述了C#实现左截取和右截取字符串的方法,分享给大家供大家参考。具体方法分析如下:


问题如下:


使用C#语法编写程序时,我们需要截取一个字符串左边或右边的若干个字符,该如何操作呢?


在VB中可以使用left或right函数实现,C#中没有提供这样的函数呢?答案是没有。但是,C#中提供Substring方法可以实现相关功能。
 
首先我们回顾一下Substring方法。
 
用法一:


String.Substring 方法 (startIndex, length)
 
返回此String中从 startIndex 开始的长度为 length 的子字符串。
 
startIndex:子字符串的起始位置的索引,从0开始。
 
length:子字符串中的截取字符数
 
用法二:


String.Substring方法 (startIndex)
 
返回此String中从 startIndex 开始的,截取之后余下所有字符。
 
startIndex:子字符串的起始位置的索引,从0开始。
 
熟悉了此方法后,我们来实现如何实现左截取和右截取字符串。
 
左截取:str.Substring(0,i) 返回,返回左边的i个字符
 
右截取:str.Substring(str.Length-i,i) 返回,返回右边的i个字符
 
请看下边的例子: 


?1234 int i=2; string str=”123456″; string strLeft=str.Substring(0,i); string strRight=str.Substring(str.Length-i,i); 
运行后:
strLeft为"12″
 
strRight为"56″
========
0 0
原创粉丝点击