去字符串中的内容
字符串 要取出的数UISDA1.DAY2.E_QW, 2
UISDA1.DAY10.E_QW, 10
UISDA1.DAY100.E_QW, 100
UISDA1.UUPPI1.E_QW, 后面的1
UISDA1.ABCD4.E_QW 4
--------------------编程问答-------------------- 正则
@"(?is)(?<=DAY)[\d]+"; --------------------编程问答-------------------- 没懂
--------------------编程问答--------------------
去看正则帮助 --------------------编程问答-------------------- 写了一个,楼主不懂正则就用土方法吧
--------------------编程问答-------------------- (?<=\w+\.[A-Z]+)\d+
class Program
{
static void Main(string[] args)
{
string[] content =
{
"UISDA1.DAY2.E_QW,",
"UISDA1.DAY10.E_QW,",
"UISDA1.DAY100.E_QW,",
"UISDA1.UUPPI1.E_QW,",
"UUISDA1.ABCD4.E_QW"
};
foreach (string str in content)
{
Console.WriteLine(ExtractNumber(str));
}
Console.ReadLine();
}
static string ExtractNumber(string txt)
{
string result = String.Empty;
int start = txt.Length - 1;
int end = start;
while (start > 0)
{
if (txt[start] >= '0' && txt[start] <= '9')
{
end = start;
while (start-- > 0)
{
if ((txt[start] < '0' || txt[start] > '9'))
break;
}
result = txt.Substring(start + 1, end - start);
break;
}
start--;
}
return result;
}
}
string str=@"UISDA1.DAY2.E_QW,
UISDA1.DAY10.E_QW,
UISDA1.DAY100.E_QW,
UISDA1.UUPPI1.E_QW,
UISDA1.ABCD4.E_QW";
foreach(Match m in Regex.Matches(str,@"(?<=\w+\.[A-Z]+)\d+"))
{
Console.WriteLine(m.Value);
} --------------------编程问答--------------------
(?<=\w+\.[A-Z]+)\d+
string str=@"UISDA1.DAY2.E_QW,
UISDA1.DAY10.E_QW,
UISDA1.DAY100.E_QW,
UISDA1.UUPPI1.E_QW,
UISDA1.ABCD4.E_QW";
foreach(Match m in Regex.Matches(str,@"(?<=\w+\.[A-Z]+)\d+"))
{
Console.WriteLine(m.Value);
}
--------------------编程问答-------------------- 用string.LastIndexOf('.')也可以吧 --------------------编程问答-------------------- (?<=UISDA1\.[A-Z]+)\d+ --------------------编程问答-------------------- 建议还是正则 ,这种问题正则最合适不过了。 推荐8楼
string str=@"UISDA1.DAY2.E_QW,
UISDA1.DAY10.E_QW,
UISDA1.DAY100.E_QW,
UISDA1.UUPPI1.E_QW,
UISDA1.ABCD4.E_QW";
foreach(Match m in Regex.Matches(str,@"(?<=\w+\.[A-Z]+)\d+"))
{
Console.WriteLine(m.Value);
}
补充:.NET技术 , C#