如何从文本中删除此数字?

时间:2011-02-18 01:01:38

标签: php regex string

нани1,Ñпални1
视频3,教程3,
книги3,ÑÐºÐ°Ñ‡Ð°Ñ 5‚web2.0

以上是存储在MySQL中的外语形式。我想删除 所有行以上的数字。说1 , 3 , 5等,我想保留web2.0

注意: - 大约有300k行。以上只是一个样本。

preg_replace('/(\w)\d+$/m', '$1', $tags);

以上几乎是所有情况的选项,但在上述情况下失败...

2 个答案:

答案 0 :(得分:3)

由于你用php标记了这个问题我假设你的意思是这样的:

<?php
    $string = preg_replace ('/[0-9]+/', '', $string);
?>

答案 1 :(得分:1)

$str = 'нани1,Ñпални1
视频3,教程3,
книги3,ÑÐºÐ°Ñ‡Ð°Ñ 5‚
';

$str = preg_replace('/\d+/', '', $str);

var_dump($str);

输出

string(122) "нани,Ñпални
视频,教程,
книги,ÑÐºÐ°Ñ‡Ð°Ñ ‚
"

CodePad

更新

<?php

$str = 'нани1,Ñпални1
视频3,教程3,
книги3,ÑÐºÐ°Ñ‡Ð°Ñ 5‚web2.0

';

$str = preg_replace('/(?<!\w|\.)\d+/', '', $str);

var_dump($str);

输出

string(130) "нани,Ñпални
视频,教程,
книги,ÑÐºÐ°Ñ‡Ð°Ñ ‚web2.0

"

我不确定完全您的排除对象,但这不符合单词字符(\w)或句点(\.)所进行的任何数字。

CodePad