110,535
社区成员
发帖
与我相关
我的任务
分享
//取第一个‘_’到最后一个‘_’之间
string s1 = System.Text.RegularExpressions.Regex.Match(str, "(?<=_).*(?=_)").Value;
//取第一个字符到最后一个‘_’之间
string s2 = System.Text.RegularExpressions.Regex.Match(str, "^.*(?=_)").Value;
static void Main(string[] args)
{
//1使用SubString方式的
Console.WriteLine( GetSubString("37_00195d24c9d6_20110127195405", '_'));
//2使用Split方式的
Console.WriteLine( GetSplitString("37_00195d24c9d6_20110127195405", '_'));
Console.Read();
}
static string GetSubString(string strOrignal, char a)
{
int start = strOrignal.IndexOf(a);//你的第一个‘_’的索引
int end = strOrignal.LastIndexOf(a);//你的最后一个‘_’的索引
return strOrignal.Substring(start+1, end - start);//这个从start开始,长度为end-start
}
static string GetSplitString(string strOrignal,char a)
{
return strOrignal.Split(a)[1];//因为你有两个'_',所以使用Split得到的是3个数组,你需要的是第二个数组
}
static string GetSubString(string strOrignal, char a)
{
int start = strOrignal.IndexOf(a);//你的第一个‘_’的索引
int end = strOrignal.LastIndexOf(a);//你的最后一个‘_’的索引
return strOrignal.Substring(start, end - start);//这个从start开始,长度为end-start
}
static string GetSplitString(string strOrignal,char a)
{
return strOrignal.Split(a)[1];//因为你有两个'_',所以使用Split得到的是3个数组,你需要的是第二个数组
}
static void Main(string[] args)
{
//1使用SubString方式的
GetSubString("37_00195d24c9d6_20110127195405", '_');
//2使用Split方式的
}