2017-07-14 118 views
0

我有一种方法应该删除字符串中的重复字符并用i字符替换j字符,但替换不起作用!我的代码中是否有任何错误的陈述?替换方法不是替换字符串中的字符

public string filter(string key) 
     { 
      string answer = ""; 
      string keyEdit = key; 
      bool found = keyEdit.Contains('j'); 
      if (found) 
      { 
       keyEdit.Replace('j', 'i'); // Replace j character by i character 
      } 
      answer = new string(keyEdit.Distinct().ToArray()); // Removing duplicate characters 
      return answer; 
     } 
+6

https://msdn.microsoft.com/en-us/library/czx8s9ts(v=vs.110).aspx“*此方法不会修改当前实例的值,而是返回一个新的字符串,其中所有的oldChar被newChar替换。*“阅读文档是值得的。 –

+2

只是一个提示。你不必检查字符串是否包含字符。 只要'keyEdit.Replace('j','i');'已经不替换,如果该字符不存在。 – KamikyIT

回答

6

只需更换这行:

keyEdit.Replace('j', 'i'); 

与此:

keyEdit=keyEdit.Replace('j', 'i'); 

返回其在 当前实例指定字符串的所有出现替换一个新的字符串与另一个指定的字符串MSDN