110,536
社区成员
发帖
与我相关
我的任务
分享
public String mySubString(String str){
String one=str.substring("DDD(Y".length());//取得:100) ddd
String two=one.substring(one.indexOf(")"));//取得:) ddd
String result=one.substring(0,one.length()-two.length());//以one为基础,从0开始,截取的长度=one-two
return result;
}
List<string> list = new List<string> { "Y(Y100)-->9个 3%+", "DDD(Y100) ddd" };
Regex reg = new Regex(@"(?i)(?<=\([a-z])\d+(?=\))");
foreach (string s in list)
Console.WriteLine(reg.Match(s).Value);
/*
100
100
*/
string tempStr = @"Y(Y100)-->9个 3%+";
string pattern = @"[^(]*\([^\d]*(?<value>[\d]*)\)[\s\S]*";
MatchCollection mc = Regex.Matches(tempStr, pattern, RegexOptions.Multiline|RegexOptions.IgnoreCase);
for (int i = 0; i < mc.Count; i++)
{
//string ss = mc[i].Value;//得到-7.0
//string ss = mc[i].Groups["id"].Value;
string text = mc[i].Groups["value"].Value;//为100
}
[Quote=引用 22 楼 hhqsy 的回复:]
private string f(string sk)
{
sk = "ddddjjoo(sdYsd4590ffg)dg";//假设你是这样的
string tempstr=sk;
int start=0;
int end = 0;
List<string> L = new List<string>();
for (int n = 0; n < 10;n++ )
{
L.Add(n.ToString());
}
for (int i = 0; i < sk.Length; i++)
{
string c = sk.Substring(i, 1);
if (L.Contains(c))
{
start = i;
break;
}
}
sk = sk.Substring(start);
for (int j = 0; j < sk.Length; j++)
{
string c = sk.Substring(j, 1);
if (!L.Contains(c))
{
end = j-1;
break;
}
}
string result = null;
if (start != end)
{
result = tempstr.Substring(start,end+1);
}
return result;
}
private string f(string sk)
sk = "ddddjjoo(sdYsd4590ffg)dg";//假设你是这样的
string tempstr=sk;
int start=0;
int end = 0;
List<string> L = new List<string>();
for (int n = 0; n < 10;n++ )
{
L.Add(n.ToString());
}
for (int i = 0; i < sk.Length; i++)
{
string c = sk.Substring(i, 1);
if (L.Contains(c))
{
start = i;
break;
}
}
sk = sk.Substring(start);
for (int j = 0; j < sk.Length; j++)
{
string c = sk.Substring(j, 1);
if (!L.Contains(c))
{
end = j-1;
break;
}
}
string result = null;
if (start != end)
{
result = tempstr.Substring(start,end+1);
}
return result;
string strBegin=""Y(Y100)-->9个 3%+0";";
string str = strBegin.Trim();
int begin = str.IndexOf("(");
int end = str.IndexOf(")");
string result = str.Substring(begin + 2, end - 3);
MessageBox.Show(result);
//结果:100
var reg = new Regex(@"(?i)(?<=\(Y)\d*(?=\))")