string tl="46-48(-1)→48-3(02)→3-80(01)→80-4(-1)→4";
现在我想得到
string tl1="46→48→3→80→4";
string tl2="46→48→3(02)→80(01)→4";
得到下面的也行
string tl1="46-48-3-80-4";
string tl2="46-48-3(02)-80(01)-4";
现在我想得到
string tl1="46→48→3→80→4";
string tl2="46→48→3(02)→80(01)→4";
得到下面的也行
string tl1="46-48-3-80-4";
string tl2="46-48-3(02)-80(01)-4";
string result = Regex.Replace(str, "-.+?(?=→)", "");
MessageBox.Show(result);
string tl = "46-48(-1)→48-3(02)→3-80(01)→80-4(-1)→4";
string tl1 = Regex.Replace(tl, @"-\d+\(-*\d+\)", ""); //46→48→3→80→4
Console.WriteLine(tl1);
string tl2 = Regex.Replace(tl, @"-\d+\(-\d+\)", ""); //46→48-3(02)→3-80(01)→80→4
tl2 = Regex.Replace(tl2, @"-(\d+\(\d+\))→\d+", "→$1"); //46→48→3(02)→80(01)→4
Console.WriteLine(tl2);
tl2分两步
string tl1 = Regex.Replace(tl, @"-\d+\([^)]*\)", "");
string tl2 = Regex.Replace(tl.Replace("-", "→"), @"→\d+\(→\d+\)", "");
Console.WriteLine(tl1);
Console.WriteLine(tl2);
root_你的第二个和我的要求不一样。
我知道$是与字符串结束的地方匹配,不匹配任何字符。但还是不理解"→$1".
(1)(2)(3) ...
$1 $2 $3 ...也可以取别名,对应就是${...},如:
(?<Name>\w+)
${Name}[/code]这个你可以搜一下正则资料获取更详细的信息。