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

论坛 期权论坛 脚本     
niminba   2021-5-23 02:32   525   0

本文实例总结了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#程序设计有所帮助。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP