是不是Substring?
但是我试了试好像Substring只能从指定的字符串起始位置开始,截取n位字符这样
就比如10(2.5)
我写的是str =str.Substring(3,3)这样才能截取出2.5这个数据,
有没有其他方法直接截取出()之间的数据,这样类似8(4)这样字符串长度不一样的也可以很方便的截取出来?
新手,麻烦大家尽量说详细些。谢谢了
但是我试了试好像Substring只能从指定的字符串起始位置开始,截取n位字符这样
就比如10(2.5)
我写的是str =str.Substring(3,3)这样才能截取出2.5这个数据,
有没有其他方法直接截取出()之间的数据,这样类似8(4)这样字符串长度不一样的也可以很方便的截取出来?
新手,麻烦大家尽量说详细些。谢谢了
string s="10(2.5)";
s=s.split('(')[0]; //用'('将原来的字符串分成两部分,0 是(前面的,1 是(后面的
str.SubString(n,str.IndexOf(")")-n);
string result = str.Substring(str.IndexOf('(')+1, str.IndexOf(')') - str.IndexOf('(') - 1);
Console.WriteLine(result);
string str = "10(2.5)";
Regex reg = new Regex(@"(?<=\()[^\)]+(?=\))");
Console.WriteLine(reg.Match(str).Value);
不过这种一般直接截取就可以了。
string input = @"2423(2.53)3234";
string pattern = @"(?:\()(\d+|\d+\.\d+)(?:\))";
Regex regex = new Regex(pattern);
Match match = regex.Match(input);if (match.Success)
Console.WriteLine(match.Groups[1].ToString());
结果:
2.53