字符串 10*<3>/12-5*<4>-1
用'a'替换所有不是在<>中的数字,所得接过应该是a*<3>/a-a*<4>-a,new Regex(?).Replace("10*<3>/12-5*<4>-1","a")
怎么写这个正则表达式?
用'a'替换所有不是在<>中的数字,所得接过应该是a*<3>/a-a*<4>-a,new Regex(?).Replace("10*<3>/12-5*<4>-1","a")
怎么写这个正则表达式?
string resultStr = Regex.Replace(yourStr, "(?!<)\\d+(?!>)", "a");
"a*<3>/a-a*<a.a4>-a"
"aa*<3>/aa-a*<4.a4>-a"<>外肯定是整数,但是里面有可能是小数
? new Regex("(?<!<)\\d+(\\.\\d+)?(?!>)").Replace("10*<3>/12-5*<4.34>-1","a")
"a*<3>/a-a*<4.a4>-a"
string resultStr = Regex.Replace(yourStr, @"(?<![<\d])\d+(?![\d>])", "a");如果除了数字和小数点外,还有可能有其它字符,楼主说明一下,我再看看
楼主的“<>”内是否只有数字和小数点,而且小数点只出现一次,如果是这样,还简单一些,可以用这个
string resultStr = Regex.Replace(yourStr, @"(?<![<\d])\d+(?![\d>])", "a");如果除了数字和小数点外,还有可能有其它字符,楼主说明一下,我再看看
=========================
这个是可用的,但是方法的确
“<>”内只有数字和小数点,这个是可用.敌伯威有什么问题吗?
string resultStr = Regex.Replace(yourStr, @"(?<![<\d])\d+(?![\d>])", "a");
“<>”内只有数字和小数点,这个是可用.敌伯威有什么问题吗?
=========================
没问题。:D
比如说我给的这个正则,适用于楼主的所给的结果,但是如果要求“<>”外的每个一个数字,而不是连着的整数都替换为一个“a”的话,即要求结果为“aa*<3>/aa-a*<4>-a”,而不是“a*<3>/a-a*<4>-a”的话,它就不适用了
再就是如果“<>”内如果小数点出现多次,或是有其它字符出现的话,也是不适用的
所以要楼主把可能出现的情况都说一下,才能给出适用的正则
//等等我啊 真是的
"10.22*<3>/12-5.44*<4.34>-1" 匹配下看看:)