PHP如何替换字符串的第二个字符(如果是';这是一个空间

PHP如何替换字符串的第二个字符(如果是';这是一个空间,php,regex,pattern-matching,Php,Regex,Pattern Matching,我正在处理一些OCR文本,有时一行的第一个单词会被拆分。应该是 有关帐单问题,请联系 但它又回来了 如有账单问题,请联系 我正在使用带有一系列模式和替换的preg_replace,并希望添加一个来修复此问题 我尝试匹配/^/,但我无法确定替换模式。您可以使用 '/^\S\K\s+/m' 并替换为空字符串。看 详细信息 ^-行的开头(正如m使用^锚点也匹配行的开头,而不仅仅是字符串的开头) \S-非空白 \K-匹配重置运算符(它丢弃、清零当前匹配值) \s+-1+空格字符(实际放入匹配值并最

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

有关帐单问题,请联系

但它又回来了

如有账单问题,请联系

我正在使用带有一系列模式和替换的
preg_replace
,并希望添加一个来修复此问题

我尝试匹配
/^/,但我无法确定替换模式。

您可以使用

 '/^\S\K\s+/m'
并替换为空字符串。看

详细信息

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

谢谢!发布后,我在RegExr上玩,并发现这也适用于模式:“/(^.)\s/”替换:“$1”