C#字符串的替换

我要把字符串里面中存在yes的替换成no。这个是怎么写的?有多种方法?... 我要把字符串里面中存在yes的替换成no。
这个是怎么写的?有多种方法?
展开
 我来答
手机用户42419
2011-04-18 · 超过61用户采纳过TA的回答
知道答主
回答量:281
采纳率:0%
帮助的人:0
展开全部
按思路继续完成吧,已经说的很清楚了,你应该能搞定
这个是替换单个字符的
internal void ChangeWchar(/*string mStr,string findStr,string replace str*/)
{
string str="my !name is ****!";
string C1="!", C2="*", D1="*", D2="#";
string resultStr = "";
for (int i = 0; i < str.Length; i++)
{
if (string.Compare(C1, str.Substring(i,1)) == 0)
resultStr += C2;
else if (string.Compare(D1, str.Substring(i,1)) == 0)
resultStr += D2;
else
resultStr += str.Substring(i,1);
}
}
下面是替换串的
class FindReplaceStrStru
{
public int s, e;
}
internal void ChangeStr(/*自定义参*/)
{
string str = "my !name is ****!";
string C1 = "!", C2 = "*", D1 = "*", D2 = "#";//设定优先级,若要替换的c1串中含有c2串,如:c1="12345" c2="23"
string resultStr = "";
//以c1优先为例子。
//先定义一个“碎片”数组,只为了方便说明问题而定义,实际考虑效率可去掉,并改写函数
//此段是保存不包含优先级1的字符串 - 段位置。
List<FindReplaceStrStru> rp2list = new List<FindReplaceStrStru>();
int sID = 0, eID = 0;
while (true)
{
eID = sID;
sID = str.IndexOf(C1, sID);
if (sID >= 0)
{
rp2list.Add(new FindReplaceStrStru());
rp2list[rp2list.Count - 1].s = eID == 0 ? 0 : eID + C1.Length;//此处若首次查找在0位置成功找到,可能会加一条无用的段,可在这这前加个判断是否为零,若为则不加
rp2list[rp2list.Count - 1].e = sID;
sID += C1.Length;
//画图你就明白了如:
// |*****&&&&&****&&&*&&&&&****&&&&&|取不包含优先级1的段。
}
else
break;
}
//if((sID)<str.Length)
//最后检查一下,若没有到未尾,则加上尾段。
//到此你可以你用查找单个字符的思路,用重新连接一个字符串的方式,而不是直接替换,因为要 替换的c1长度为2,但替换后的c2可能长度为3,所以会改变长度,不可直接替换,用重新连接一个新串的方法
//到此应该可以解决了,若搞不定可以留言。
}
我是洋葱会落泪
推荐于2016-03-05 · TA获得超过648个赞
知道小有建树答主
回答量:150
采纳率:50%
帮助的人:56.6万
展开全部
/// <summary>
/// 字符串替换方法
/// </summary>
/// <param name="myStr">需要替换的字符串</param>
/// <param name="displaceA">需要替换的字符</param>
/// <param name="displaceB">将替换为</param>
/// <returns></returns>
private string displace(string myStr,string displaceA,string displaceB)
{
string[] strArrayA = Regex.Split(myStr, displaceA);
for (int i = 0; i < strArrayA.Length - 1; i++)
{
strArrayA[i] += displaceB;
}
string returnStr = "";
foreach (string var in strArrayA)
{
returnStr += var;
}
return returnStr;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
股市财经大鹏
2011-04-17 · TA获得超过276个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:278万
展开全部
最简单的就用楼上的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangjun198610
推荐于2018-03-04
知道答主
回答量:15
采纳率:0%
帮助的人:7.7万
展开全部
最简单的方法
string ss = "adfsadfyesasdfasdf";
ss = ss.Replace("yes", "no");
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式