V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
songz
V2EX  ›  JavaScript

正则表达的疑问,求老司机带带

  •  
  •   songz · 2016-07-25 17:16:48 +08:00 · 2895 次点击
    这是一个创建于 3043 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一字符串, 类似 这样" as das"

    要求去掉第一位的空格,保留字母之间的空格

    应该怎样写?

    我写的这个不太 work: /(^\s)"/g

    第 1 条附言  ·  2016-07-26 08:44:05 +08:00
    实际上我要处理的字符串是这样 :(空格)(引号)字符(空格)(引号)

    例如: ' "asu i dh iu"’ 输出 :‘ asu i dh iu ’

    目前的解决方法是用两次正则

    如何一次实现呢?
    第 2 条附言  ·  2016-07-26 08:45:33 +08:00
    手误,输出是这样

    ‘ asu i dh iu ’
    第 3 条附言  ·  2016-07-26 08:46:07 +08:00
    v2 自动给加了空格。。。
    13 条回复    2016-07-26 16:07:08 +08:00
    Martin9
        1
    Martin9  
       2016-07-25 17:28:19 +08:00
    /^\s*/
    chuhemiao
        2
    chuhemiao  
       2016-07-25 17:30:43 +08:00
    LTrim 函数可删除字符串左侧的空格。
    marsLeo
        3
    marsLeo  
       2016-07-25 17:35:19 +08:00
    8023
        4
    8023  
       2016-07-26 01:05:17 +08:00 via Android
    参考 零宽度正回顾后发断言
    (?<=\s?).*
    " asd asff" 匹配 "asd asff"
    songz
        5
    songz  
    OP
       2016-07-26 08:44:16 +08:00
    @Martin9 看看 append
    songz
        6
    songz  
    OP
       2016-07-26 08:44:36 +08:00
    @8023
    @marsLeo
    @chuhemiao
    看看 append
    jeffersonpig
        7
    jeffersonpig  
       2016-07-26 09:09:28 +08:00
    为什么要用正则……自己写个 trim 的函数不就好了……
    SilentDepth
        8
    SilentDepth  
       2016-07-26 09:40:04 +08:00
    没看懂 append ……
    意思是`"_asu_i_dh_iu"`变成`"asu_i_dh_iu"`?(下划线替换成空格)
    ``` javascript
    '"_asu_i_dh_iu"'.replace(/^"_+/, '"'); // 下划线替换成空格
    ```
    8023
        9
    8023  
       2016-07-26 14:45:28 +08:00
    ```
    '_"asu_i_dh_iu"' -> 'asu_i_dh_iu' :
    (?<=").*(?=")

    '_"_asu_i_dh_iu"' -> 'asu_i_dh_iu' :
    (?<="_).*(?=")

    '_"asu_i_dh_iu_"_' -> 'asu_i_dh_iu' :
    (?<="_).*(?=_")
    ```

    注: 将所有下划线替换为空格, 字符串不包括单引号
    8023
        10
    8023  
       2016-07-26 14:49:21 +08:00   ❤️ 1
    songz
        11
    songz  
    OP
       2016-07-26 14:53:55 +08:00
    @8023 请问完整的表达式是怎样的啊? 我知道的是类似这样的结构的 /..../.
    8023
        12
    8023  
       2016-07-26 15:33:54 +08:00
    @songz 不太清楚你用的啥语言... 我用的 http://www.jb51.net/tools/zhengze.html 这软件
    mengzhuo
        13
    mengzhuo  
       2016-07-26 16:07:08 +08:00
    trim 不就好了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1361 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 17:36 · PVG 01:36 · LAX 09:36 · JFK 12:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.