-5

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

例如我有字符串;

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.. 。那些是页码。它可以是任何数字..

我怎样才能做到这一点..?提前致谢

4

3 回答 3

3

试试这个:

$result = preg_replace('/\-p\d+/', '', $string);
于 2013-10-29T08:25:23.360 回答
0

注意:我假设字符串格式没有改变(我的意思是这个 [topics-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);
        }
于 2013-10-29T08:33:37.680 回答
0

使用“预替换”::

例如:

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

按照这个链接: http ://www.php.net/manual/en/function.preg-replace.php

于 2013-10-29T08:37:39.230 回答