如何使用regex替换以下数据中的th、nd、st,以表示空格。
我随意的短信就在这里……“3月11日”....my随机文本在这里与它一起使用。我的随机短信和它一起.“02号3月2日”....my随机文本在这里与和在其中。我的随机短信在这里写着……“01号3月1日”....my随机文本与st一起出现在这里。
到目前为止,我尝试了这个0-90-9,但它也取代了这个数字。我如何保留数字或只选择那些需要的部分?
发布于 2013-11-28 03:58:45
(?<=\d)(th|rd|nd|st)
积极后视
发布于 2013-11-28 04:20:20
您可以捕获数字字符并匹配以下th、nd、st。
通常,对于括号中模式的第一次匹配,反向引用是$1或\1。
尝试以下几点:
Find: ([0-9]+)[a-zA-Z]{2}
Replace: $1 请参阅Live demo
发布于 2013-11-28 05:42:28
在php中,下面的代码片段可以在数字之后立即对st、nd等进行查找和替换,并将其替换为**。您可以看到可以插入“任意字符串”以进行替换的位置。
戴上一顶大礼帽,致@jaco0646 0646!
<?php
$inputString = 'This is the 2nd of November<br>';
$pattern = '/(?<=[0-9])(st|nd|rd|th)/';
$replacement = '**';
$newString = preg_replace($pattern, $replacement, $inputString);
echo $inputString;
echo $newString;
?>https://stackoverflow.com/questions/20257370
复制相似问题