从字符串中删除特定匹配

时间:2013-10-29 08:19:29

标签: php

我想从字符串中删除特定的字符匹配。

例如我有字符串;

topics-p10-new-model-cars
topics-p20-new-model-cars
topics-p30-new-model-cars
topics-p40-new-model-cars

然后我需要结果为,

topics-new-model-cars
topics-new-model-cars
topics-new-model-cars
topics-new-model-cars

这意味着我要删除p10-,p20-,etc.. 。这是页码。它可能是任何数字..

我怎么能这样做..?提前致谢

3 个答案:

答案 0 :(得分:3)

试试这个:

$result = preg_replace('/\-p\d+/', '', $string);

答案 1 :(得分:0)

注意:我假设字符串格式没有改变(我的意思是[topic-p10-new-model-cars])。如果我的假设是正确的。 然后你可以这样做

if (textBox1.Text.Contains("-p10-"))
        {
            //topics-p10-new-model-cars
            String[] splited = textBox1.Text.Split(new char[] {'-'});
            String rString = String.Format("{0}-{1}-{2}-{3}",     
            splited[0],splited[2],splited[3],splited[4]);
            MessageBox.Show(rString);
        }

 //OR This method
        if (textBox1.Text.Contains("-p10-"))
        {
            String result = textBox1.Text.Replace("p10-", "");
            MessageBox.Show(result);
        }

答案 2 :(得分:0)

使用'preg-replace'::

例如:

<?
echo preg_replace('/p[0-9]+\-/', '', 'topics-p10-new-model-cars');
?>

点击此链接: http://www.php.net/manual/en/function.preg-replace.php