首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regex从“3月11日”中选择"th“

使用regex从“3月11日”中选择"th“
EN

Stack Overflow用户
提问于 2013-11-28 03:51:58
回答 5查看 64关注 0票数 2

如何使用regex替换以下数据中的th、nd、st,以表示空格。

我随意的短信就在这里……“3月11日”....my随机文本在这里与它一起使用。我的随机短信和它一起.“02号3月2日”....my随机文本在这里与和在其中。我的随机短信在这里写着……“01号3月1日”....my随机文本与st一起出现在这里。

到目前为止,我尝试了这个0-90-9,但它也取代了这个数字。我如何保留数字或只选择那些需要的部分?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-11-28 03:58:45

(?<=\d)(th|rd|nd|st)

积极后视

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 04:20:20

您可以捕获数字字符并匹配以下thndst

通常,对于括号中模式的第一次匹配,反向引用是$1\1

尝试以下几点:

代码语言:javascript
复制
Find: ([0-9]+)[a-zA-Z]{2}
Replace: $1 

请参阅Live demo

票数 1
EN

Stack Overflow用户

发布于 2013-11-28 05:42:28

在php中,下面的代码片段可以在数字之后立即对stnd等进行查找和替换,并将其替换为**。您可以看到可以插入“任意字符串”以进行替换的位置。

戴上一顶大礼帽,致@jaco0646 0646!

代码语言:javascript
复制
<?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;
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20257370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档