首页 新闻 搜索 专区 学院

求解正则替换

0
悬赏园豆:10 [已解决问题] 解决于 2017-03-14 09:47

一个字符串中有很多个:NumberLong(1366128000000),我想用正则替换掉NumberLong(),只剩数字1366128000000,每个的数字都不同,请问正则怎么写?

阿嵐的主页 阿嵐 | 初学一级 | 园豆:177
提问于:2017-03-02 14:25
< >
分享
最佳答案
0

1楼是最简单的.

不过也可以用前瞻后顾来解决

(?<=NumberLong[(]).*?(?=[)])

收获园豆:5
吴瑞祥 | 高人七级 |园豆:28841 | 2017-03-02 15:06

你好,你这个方法要怎么使用呢?谢谢

阿嵐 | 园豆:177 (初学一级) | 2017-03-02 16:24

@阿嵐: 就是截取NumberLong[(]到[)]中间的字符.

发的就是正则

吴瑞祥 | 园豆:28841 (高人七级) | 2017-03-02 17:49
其他回答(2)
0
/**
     *
     * @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();

    }

 

、熙和 | 园豆:1491 (小虾三级) | 2017-03-02 14:53

你好,对于单个的你这个方法很好,但是我在一个字符串中,有多个,像这样:property_status:抵押,complete_date:NumberLong(1366128000000),complete_date:NumberLong(1366128000000),如果用你这个办法,还要一个一个去找出来,请问有有更好的办法吗?一次替换的。

支持(0) 反对(0) 阿嵐 | 园豆:177 (初学一级) | 2017-03-02 15:42
0
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();
        }
    }
}

 

收获园豆:5
Jimmy.pan | 园豆:242 (菜鸟二级) | 2017-03-02 17:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册