C# · 12月 28, 2021

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

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