首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

字符串中的子串处置,求帮助

2013-08-09 
字符串中的子串处理,求帮助!有这样一个功能需求,有一个字符串,例如:“这是要处理的字符串这是要处理的字符

字符串中的子串处理,求帮助!
有这样一个功能需求,有一个字符串,

例如:“这是要处理的字符串这是要处理的字符串这是要处理的字符串”,

在这个字符串中“这是”共出现了3次,如何只把第一个“这是”替换成“那是”,其它内容不变。
如何用C#实现呢?

求帮助!
[解决办法]
bool isReplaced = false;
string s = "这是要处理的字符串这是要处理的字符串这是要处理的字符串";
s = Regex.Replace(s, "这是", new MatchEvaluator(m => {
    if (isReplaced) return m.Value;
    isReplace = true;
    return "那是";
}));
[解决办法]


string str="这是要处理的字符串这是要处理的字符串这是要处理的字符串”;
int index = str.IndexOf("这是");
str=str.Remove(index,2).Insert(index,"那是"));

[解决办法]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace StringReplace
{
    class Program
    {
        static void Main(string[] args)
        {
            string txt = "这是要处理的字符串这是要处理的字符串这是要处理的字符串";
            //声明一个词语
            string str = "这是";
            int  index = txt.IndexOf(str);
            int indexLast = txt.LastIndexOf(str);
            while (true)
            {

                txt=txt.Remove(index,2).Insert(index,"那是");
                index = txt.IndexOf(str);

                if (index==indexLast)


                {
                    break;
                }
            }
            txt = txt.Remove(index, 2).Insert(index, "那是");
            index = txt.IndexOf(str);
            Console.WriteLine(txt);
            Console.ReadKey();

        }
    }
}

热点排行