這是非常基本的問題,但我不確定它爲什麼不起作用。我在那裏「和」可以在任何的方式「與」寫代碼,「和」等,我想用來替換「」如何替換字符串中的單詞
我嘗試這樣做:
and.Replace("and".ToUpper(),",");
但這不起作用,還有其他方式來做到這一點或使其工作?
這是非常基本的問題,但我不確定它爲什麼不起作用。我在那裏「和」可以在任何的方式「與」寫代碼,「和」等,我想用來替換「」如何替換字符串中的單詞
我嘗試這樣做:
and.Replace("and".ToUpper(),",");
但這不起作用,還有其他方式來做到這一點或使其工作?
你應該看看正則表達式類
http://msdn.microsoft.com/en-us/library/xwewhkd1.aspx
using System.Text.RegularExpressions;
Regex re = new Regex("\band\b", RegexOptions.IgnoreCase);
string and = "This is my input string with and string in between.";
re.Replace(and, ",");
很好的使用'\ b'(+1)。我更喜歡使用正則表達式的靜態方法,但主要只是偏好。 – 2012-09-21 02:48:03
Replace
方法返回替換爲可見的字符串。它確實不是修改原始字符串。你應該嘗試沿着
and = and.Replace("and",",");
線的東西你可以爲所有變化做這個「」你可能會遇到的,或者作爲其他答案建議,你可以使用正則表達式。
雖然這是事實,但這對「傑克和吉爾」無助。 – 2012-09-21 02:48:59
嘗試這種方式來使用靜態Regex.Replace()
方法:
and = System.Text.RegularExpressions.Regex.Replace(and,"(?i)and",",");
的「(我)」會導致下面的文本搜索不區分大小寫。
http://msdn.microsoft.com/en-us/library/yd1hzczs.aspx
http://msdn.microsoft.com/en-us/library/xwewhkd1(v=vs.100).aspx
我猜你應該照顧,如果一些字包含and
,說"this is sand and sea"
。 「沙子」一詞不能被替換影響。
string and = "this is sand and sea";
//here you should probably add those delimiters that may occur near your "and"
//this substitution is not universal and will omit smth like this " and, "
string[] delimiters = new string[] { " " };
//it result in: "this is sand , sea"
and = string.Join(" ",
and.Split(delimiters,
StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Length == 3 && s.ToUpper().Equals("AND")
? ","
: s));
我還要補充水木清華這樣的:
and = and.Replace(" , ", ", ");
所以,輸出:
this is sand, sea
這相當於'and.Replace( 「AND」, 「」) '。無論如何,看看Regex.Replace和不區分大小寫模式。 – 2012-09-21 00:48:46
正如@pst提到的,你也可以使用正則表達式:'var regex = new Regex(「camel」,RegexOptions.IgnoreCase); var newSentence = regex.Replace(sentence,「horse」); 'code take from:http://stackoverflow.com/questions/6025560/how-to-ignore-case-in-string-replace – Jack
你也可以在搜索模式中使用「(?i)和」選項。這樣你可以使用靜態的'Replace()'方法,因爲你不需要使用'RegexOption.IgnoreCase'枚舉。我在下面給出了一些代碼。 –