【问题标题】:PHP how to replace second character of a string if it's a spacePHP如何替换字符串的第二个字符,如果它是一个空格
【发布时间】:2018-05-12 21:28:03
【问题描述】:

我正在处理一些 OCR 文本,有时一行的第一个单词会被拆分。应该是

如有结算问题,请联系...

但它正在返回

如有账单问题请联系...

我正在使用 preg_replace 和一系列模式和替换,并正在寻找一个来解决这个问题。

我尝试匹配/^. /,但我无法找出替换模式。

【问题讨论】:

    标签: php regex pattern-matching


    【解决方案1】:

    你可以使用

     '/^\S\K\s+/m'
    

    并替换为空字符串。请参阅regex demo

    详情

    • ^ - 行的开头(m 允许 ^ 锚也匹配行的开头,而不仅仅是字符串的开头)
    • \S - 非空格
    • \K - 匹配重置运算符(它丢弃、清零当前匹配值)
    • \s+ - 1+ 个空格字符(实际放入匹配值并最终替换为空字符串)。

    【讨论】:

    • 谢谢!在我发布后,我在 RegExr 上玩并发现这也适用于模式:'/(^.)\s/' replacement: '$1'
    猜你喜欢
    • 2021-12-07
    • 2019-01-03
    • 1970-01-01
    • 2014-03-07
    • 2014-01-25
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 2021-12-04
    相关资源
    最近更新 更多