2011-06-22 13 views
-4

私は私がマーク」の最初のoccuranceを交換したい最初のケースで2例文字列検索&交換

と「トム」と「マーク」を置き換えたい文字列「JohnMarkMarkMark」

を持っています「結果は次のようになります。 『JohnTomMarkMark『になります結果: 『マーク』 私はすべてのoccuranceを交換したい第二のケースで』JohnTomTomTom』

最初のケースでは Thnaks

+0

しようとしてみてくださいません指定された文字列。その後、文字列を置換するように見えます – usr021986

+1

あなたが書いたコードを共有することはできますか? – Stuti

+0

私のプロジェクトコードでは、私はそれを共有することはできません – usr021986

答えて

7
string data = "JohnMarkMarkMark"; 
string resultOne = new Regex("Mark").Replace(data, "Tom", 1); 
string resultAll = data.Replace("Mark", "Tom"); 
+0

ありがとう...ソリューション – usr021986

1

を提案してください、0123を使用,SubstringおよびConcatである。

2番目の場合は、Replaceを使用します。

0

(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");

0

は、ケース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");