发布
社区首页 >问答首页 >Regex插入点(.)在字符后面,在新行之前

Regex插入点(.)在字符后面,在新行之前
EN

Stack Overflow用户
提问于 2014-04-02 10:23:06
回答 5查看 2.8K关注 0票数 1

我正在调整一些文本的格式,有时我有一个字符串,其中有一个句子没有以点结尾。

为了这个目的,我正在运行各种检查,另外一个我想要的是“在新行之前的最后一个字符加点”

我不知道如何形成这个正则表达式:]

代码语言:javascript
代码运行次数:0
复制
$string = preg_replace("/???/", ".\n", $string);
EN

回答 5

Stack Overflow用户

发布于 2014-04-02 10:29:49

试试这个:

代码语言:javascript
代码运行次数:0
复制
$string = preg_replace("/(?<![.])(?=[\n\r]|$)/", ".", $string);

负查找(?<![.])检查以前的字符不是.

(?=[\n\r]|$)正在检查下一个字符是字符串的换行符或结尾。

票数 4
EN

Stack Overflow用户

发布于 2014-04-02 10:49:15

就像这样,我想:

代码语言:javascript
代码运行次数:0
复制
<?php
$string = "Add dot after last character before new line\n";
$string = preg_replace("/(.)$/", "$1.\n", $string);
print $string;
?>

这样,将在句子中的单词line之后和\n之前添加点。

演示:http://ideone.com/J4g7tH

票数 1
EN

Stack Overflow用户

发布于 2014-04-02 11:42:56

我会这样做:

代码语言:javascript
代码运行次数:0
复制
$string = "Add dot after last character before new line\n";
$string = preg_replace("/([^.\r\n])$/s", "$1.", $string);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22808411

复制
相关文章

相似问题

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