2011-06-22 120 views
-4

我有一個字符串「JohnMarkMarkMark」字符串搜索和替換

我想有兩個分支

在第一種情況下,以取代「標記」與「湯姆」我想更換標誌的」只有第一次出現「結果將是:‘JohnTomMarkMark’ 在我想要替換所有次數第二種情況‘馬克’的結果將是:‘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

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