V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ifane
V2EX  ›  程序员

取得字符串指定数据有什么高效率的方法

  •  1
     
  •   ifane · 2016-06-01 22:07:45 +08:00 · 3115 次点击
    这是一个创建于 3088 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如图想获取“:”后面的数据,除了字符串分割有啥高效率的方法 一定要用正则表达式么? 怎么用。对正则表达式头大啊

    17 条回复    2016-06-03 10:35:17 +08:00
    9hills
        1
    9hills  
       2016-06-01 22:13:18 +08:00
    字符串分割效率已然非常高了。。你嫌弃它什么
    aprikyblue
        2
    aprikyblue  
       2016-06-02 02:02:35 +08:00 via Android
    不分割那你逐字节遍历吧。。
    ayaseangle
        3
    ayaseangle  
       2016-06-02 03:09:53 +08:00
    感觉这格式符合 csv ,指定一下分隔符为:就好。。。
    qqmishi
        4
    qqmishi  
       2016-06-02 03:32:15 +08:00 via Android
    ^[^:]*:(.*)$
    正则效率已经很高了,,,

    或者你用 indexOf 再分割试试
    msg7086
        5
    msg7086  
       2016-06-02 03:34:31 +08:00
    你要多高的效率?数据有几亿吗?
    xupefei
        6
    xupefei  
       2016-06-02 04:20:07 +08:00   ❤️ 2
    仅仅从截图来看,直接用数组下标定位最快……
    guyj93
        7
    guyj93  
       2016-06-02 05:40:27 +08:00
    循环:
    移动下标至':'
    移动下标至'\n',取出:与\n 间字符串保存。
    imn1
        8
    imn1  
       2016-06-02 07:08:11 +08:00
    java 就不知道了,但这个实际上是 ini 格式,相当于 xxx=xxx
    innoink
        9
    innoink  
       2016-06-02 07:11:15 +08:00 via Android
    你只要把编码处理好,还搞什么正则,直接定位都能定位到
    bramblex
        10
    bramblex  
       2016-06-02 07:26:17 +08:00
    用字符串分割简直不能再高效了……
    tobyxdd
        11
    tobyxdd  
       2016-06-02 08:12:25 +08:00 via Android
    str=str.substring(4); 😂😂
    ifane
        12
    ifane  
    OP
       2016-06-02 08:40:26 +08:00
    yuhuan66666
        13
    yuhuan66666  
       2016-06-02 10:12:56 +08:00
    这个貌似是用 properties.load()加载吧
    popok
        14
    popok  
       2016-06-02 11:27:22 +08:00
    @ifane 这方法难道不好吗?我觉得挺实用了啊
    aitaii
        15
    aitaii  
       2016-06-02 16:12:13 +08:00
    一点数据应该体现不出来快慢,这样就够了吧。。。
    louk78
        16
    louk78  
       2016-06-02 18:09:33 +08:00
    用 STL 吧,效率还可以
    fatedier
        17
    fatedier  
       2016-06-03 10:35:17 +08:00
    正则表达式效率高么?如果不是复杂的逻辑尽量不要用吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4587 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:52 · PVG 17:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.