一个字符串中有很多个:NumberLong(1366128000000),我想用正则替换掉NumberLong(),只剩数字1366128000000,每个的数字都不同,请问正则怎么写?
1楼是最简单的.
不过也可以用前瞻后顾来解决
(?<=NumberLong[(]).*?(?=[)])
你好,你这个方法要怎么使用呢?谢谢
@阿嵐: 就是截取NumberLong[(]到[)]中间的字符.
发的就是正则
/** * * @param str * 需要过滤的字符串 * @return * @Description:过滤数字以外的字符 */ public static String filterUnNumber(String str) { // 只允数字 String regEx = "[^0-9]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); //替换与模式匹配的所有字符(即非数字的字符将被""替换) return m.replaceAll("").trim(); }
你好,对于单个的你这个方法很好,但是我在一个字符串中,有多个,像这样:property_status:抵押,complete_date:NumberLong(1366128000000),complete_date:NumberLong(1366128000000),如果用你这个办法,还要一个一个去找出来,请问有有更好的办法吗?一次替换的。
using System; using System.Text.RegularExpressions; namespace ReplaceTest { class Program { static void Main(string[] args) { string v = "NumberLong(123456)NumberLong(7894)NumberLong(123456)NumberLong(25634)"; Console.WriteLine(Regex.Replace(v, @"NumberLong\(.*?\)", "NumberLong()")); Console.Read(); } } }