[英]Remove number then a space from the start of a string
我将如何从字符串的开头删除数字和空格?
例如,从 '13 Adam Court, Cannock' 删除 '13 '
因为其他人都在走\\d+\\s路线,所以我会给你死脑筋的答案
$str = preg_replace("#([0-9]+ )#","",$str);
明智的话,不要在正则表达式中使用 / 作为分隔符,当您尝试执行文件路径或类似 http:// 的操作时,您会遇到可怕的倾斜牙签问题
:)
试试这个:
^\d+ (.*)$
像这样:
preg_replace ("^\d+ (.*)$", "$1" , $string);
资源:
在同一主题上:
使用我在JavaScript 答案中给出的相同正则表达式,但使用preg_replace()
应用它:
preg_replace('/^\d+\s+/', '', $str);
我会用
/^\\d+\\s+/
它在字符串的开头寻找任意大小的数字^\\d+
然后在\\s+
之后寻找一块空白
当您在某些字母前使用反斜杠时,它代表某些东西...
\\d
代表一个数字0,1,2,3,4,5,6,7,8,9
。
\\s
代表一个空格 .
添加一个加号 ( +
) 到最后,你可以...
\\d+
一系列数字(数字)
\\s+
多个空格(错别字等)
如果输入字符串都具有相同的预期格式,并且您将通过左修剪所有数字和空格获得相同的结果(无论它们在字符串前面出现的顺序如何),那么您实际上不需要启动正则表达式引擎。
我喜欢正则表达式,但知道不要使用它,除非它提供了比非正则表达式技术更有价值的优势。 正则表达式通常比非正则表达式技术慢。
将ltrim()
与包含空格和数字的字符掩码一起使用。
代码:(演示)
var_export(
ltrim('420 911 90210 666 keep this part', ' 0..9')
);
输出:
'keep this part'
字符串是否以空格开头也没有关系。 ltrim()
将贪婪地从字符串的开头删除所有空格或数字实例,直到它不能再删除为止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.