如何解决字符串搜索和替换
|| 我有一个字符串“ JohnMarkMarkMark” 我想用两种情况用\“ Tom \”替换\“ Mark \” 在第一种情况下,我只想替换第一次出现的\“ Mark \”结果将是:\“ JohnTomMarkMark \” 在第二种情况下,我想替换所有\“ Mark \”的出现,结果将是:\“ JohnTomTomTom \” 请建议 恶作剧解决方法
string data = \"JohnMarkMarkMark\";
string resultOne = new Regex(\"Mark\").Replace(data,\"Tom\",1);
string resultAll = data.Replace(\"Mark\",\"Tom\");
, 对于第一种情况,请使用IndexOf,Substring和Concat。
对于第二种情况,请使用“替换”。
, (1)是:
var inString = \"TestMarkMarkMark\";
var lookFor = \"Mark\";
var replaceWith = \"Tom\";
var length = lookFor.Length;
var first = inString.IndexOf(lookFor);
var newString = inString.Substring(0,first) + replaceWith + inString.Substring(first + length);
可以对其进行优化,但是我已经对其进行了扩展,因此很容易遵循。
(2)很简单-只要做inString.Replace(\"Mark\",\"Tom\");
, 对于案例1,尝试这个
string s = \"JohnMarkMarkMark\";
Regex x = new Regex(\"Mark\");
MatchCollection m = x.Matches(s);
if (m!=null && m.Count > 0)
{
s = s.Remove(m[0].Index,m[0].Length);
s = s.Insert(m[0].Index,\"Tom\");
}
对于案例2,请尝试s = s.Replace(\"Mark\",\"Tom\");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。