如果格式固定,直接Split就可以了string test = "12*36=2"; string[] result = test.Split(new char[] { '*', '=' }); foreach (string s in result) { richTextBox2.Text += s + "\n"; }
string sText = "12*36=2"; MatchCollection mc = Regex.Matches(sText,@"\d+"); foreach (Match m in mc) { Console.WriteLine(m.Value); }
/********Example*********/ //要检测的字符串 string str = "abc23*3=4 5*3=23"; //存储匹配的字符串 List<string> list = new List<string>(); //要匹配的正则表达式 System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d+\*\d+=\d+"); //存储匹配的字符串到list if (regex.Matches(str).Count != 0) { for (int i = 0; i < regex.Matches(str).Count; i++) { list.Add(regex.Matches(str)[i].ToString()); } } /*********Example*********/然后将list中字符串用*和=分割即可,如:string [] s = list[0].Split(new char[] { '*', '=' });
直接用正则匹配数字就可以了吧,顶多加上小数点 [CODE LANGUAGE=C#] using System; using System.Text; using System.Text.RegularExpressions;namespace test{ public class RegexTest{ [STAThread] static void Main() { String input = "1.1*2=3.3*4.4=5"; MatchCollection mc = Regex.Matches(input,@"(?<number>\d+(\.\d+)?)"); foreach(Match m in mc){ Console.WriteLine(m.Result("${number}")); } } } } [/CODE]
string[] str1 = ss.Split('*');
string s36 = str1[0];
string[] str2 = str1[1].Split('=');
string s2 = str2[1];
string s12 = str2[0];
string[] result = test.Split(new char[] { '*', '=' });
foreach (string s in result)
{
richTextBox2.Text += s + "\n";
}
MatchCollection mc = Regex.Matches(sText,@"\d+");
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
//要检测的字符串
string str = "abc23*3=4 5*3=23";
//存储匹配的字符串
List<string> list = new List<string>();
//要匹配的正则表达式
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d+\*\d+=\d+");
//存储匹配的字符串到list
if (regex.Matches(str).Count != 0)
{
for (int i = 0; i < regex.Matches(str).Count; i++)
{
list.Add(regex.Matches(str)[i].ToString());
}
}
/*********Example*********/然后将list中字符串用*和=分割即可,如:string [] s = list[0].Split(new char[] { '*', '=' });
[CODE LANGUAGE=C#]
using System;
using System.Text;
using System.Text.RegularExpressions;namespace test{
public class RegexTest{
[STAThread]
static void Main() {
String input = "1.1*2=3.3*4.4=5";
MatchCollection mc = Regex.Matches(input,@"(?<number>\d+(\.\d+)?)");
foreach(Match m in mc){
Console.WriteLine(m.Result("${number}"));
}
}
}
}
[/CODE]