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