去掉 ”。”模式中每个单词后的(点)

时间:2019-05-02 06:19:56

标签: php regex preg-replace regex-lookarounds regex-group

我要删除“。” (点)括在模式中的每个单词之后。

输入

Lorem *|Ipsum.|* is simply *|dummy.|* text of the *|printing|* and typesetting *|industry.|*.

输出

Lorem *|Ipsum|* is simply *|dummy|* text of the *|printing|* and typesetting *|industry|*.

3 个答案:

答案 0 :(得分:2)

您可以使用此正则表达式以及适当的分组来捕获*|sometext.|*模式的文本,

(\*\|[^|]+)\.(\|\*)

并替换为$1$2,其中*|sometext部分在组1中被捕获,.被排除在分组之外,因此它被删除,|*部分在组2中被分组。

Regex Demo

Python code demo

$s = "Lorem *|Ipsum.|* is simply *|dummy.|* text of the *|printing|* and typesetting *|industry.|*.";
echo preg_replace('/(\*\|[^|]+)\.(\|\*)/', '$1$2', $s);

打印以下内容,并在*|text.|*内删除点,

Lorem *|Ipsum|* is simply *|dummy|* text of the *|printing|* and typesetting *|industry|*.

答案 1 :(得分:1)

这可能会帮助您这样做:

$string = 'Lorem *|Ipsum.|* is simply *|dummy.|* text of the *|printing|* and typesetting *|industry.|*.';

$output = preg_replace('/(\.\|)/s', '|', $string);

var_dump($output);

输出:

"Lorem *|Ipsum|* is simply *|dummy|* text of the *|printing|* and typesetting *|industry|*."

答案 2 :(得分:0)

我们可以使用 str_replace()

$string = 'Lorem *|Ipsum.|* is simply *|dummy.|* text of the *|printing|* and typesetting *|industry.|*.';
$replacedString = str_replace('.|', '|', $string);`

您可以在https://www.w3schools.com/php/showphp.asp?filename=demo_func_string_str_replace

中查看有关此功能的更多信息