2

我有一个这样的字符串:

word1, word2, word3, word4, word5

结果应如下所示:

word1, word2, word3 . . .

也就是说,我想将第三个逗号(包括第三个逗号)之后的所有内容替换为

. . .

使用 Oracle REGEXP_REPLACE 函数。

提前感谢您的帮助!

4

3 回答 3

1

^(([^,]*,){2,2}[^,]*),.*

并将其替换为找到的内容

\1 . . .

我没有使用该功能的经验,但它可能会像这样:

REGEXP_REPLACE(str, '^(([^,]*,){2,2}[^,]*),.*', '\1 . . .')

于 2012-11-14T10:31:59.860 回答
0

不需要正则表达式或“设计”。

  1. 拆分','

  2. 迭代和替换。

  3. 重新加入并欢欣鼓舞。

于 2012-11-14T10:07:44.683 回答
0

您可以使用implodearray_slice代替正则表达式:

<?php
$words_to_display = 3;
$str = "word1, word2, word3, word4, word5";

$array = explode(', ', $str);
print_r($array);

$array = array_slice($array, 0, $words_to_display);

$str = implode(', ', $array).' . . .';
echo $str;
?>

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

于 2012-11-14T10:16:13.850 回答