微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

字符串搜索和替换

如何解决字符串搜索和替换

|| 我有一个字符串“ 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 举报,一经查实,本站将立刻删除。