我想删除冒号只有当它的字符串的第一个字符。我试过以下,但它不起作用。任何帮助,将不胜感激:删除冒号如果它是第一个字符
//remove the colon if its the first character..
$pattern = '/^:/';
$replace = '';
$tweet = preg_replace($pattern, $replace, $tweet);
我想删除冒号只有当它的字符串的第一个字符。我试过以下,但它不起作用。任何帮助,将不胜感激:删除冒号如果它是第一个字符
//remove the colon if its the first character..
$pattern = '/^:/';
$replace = '';
$tweet = preg_replace($pattern, $replace, $tweet);
逃避冒号:
$pattern = '/^\\:/';
谢谢你的工作 – 2012-04-29 09:59:15
我必须承认我对此感到莫名其妙。冒号不是正则表达式元字符,因此它不必为正则表达式引擎转义。我也不知道为什么它必须从字符串处理中逃脱。如果它*有必要转义它,你需要一个反斜杠,而不是两个反斜杠,因为它们会编码一个反斜杠。所以总而言之,我不明白@ LukeBream的问题首先出现,以及这个答案如何解决问题。你能开导我吗? – 2012-04-29 10:08:33
@TimPietzcker至于双反斜杠 - 只是python的一种习惯。它只用一个反斜杠工作,并且表达式在意义AFAIK中是相同的。至于冒号,参见'preg_quote'的文档:'特殊的正则表达式字符是:。 \ + *? [^] $(){} =! < > | :-' – 2012-04-29 10:16:32
你也可以把结肠中由自己设定,这可能是更容易阅读:
$pattern = '/^[:]/';
是你确定你的代码首先是好的吗?冒号':'不必转义。也许你需要像'/ ^:+ /'这样的东西? – 2012-04-29 10:03:20