基本上我想要做的是更換喜歡™,®等標誌與別的東西,但是當我打電話C#不與string.replace查找/替換符號(™,®)
myString = myString.Replace("®", "something else")
它不做任何事
任何想法?
基本上我想要做的是更換喜歡™,®等標誌與別的東西,但是當我打電話C#不與string.replace查找/替換符號(™,®)
myString = myString.Replace("®", "something else")
它不做任何事
任何想法?
記住string.Replace
返回一個新字符串,所以你需要在使用String.Replace
您創建一個新的字符串來重新分配它
myString = myString.Replace("®", "something else");
。相信提供的字符串被修改是一個非常常見的錯誤。但是,.NET中的字符串是不可變的,不能修改。
你要這樣稱呼它:
myString = myString.Replace("®", "something else");
我認爲你錯就錯在不調用分配結果的任何替換。
沒有看到你的代碼是很難猜測,但這樣的事情應該工作:
myString = myString.Replace("®", "something else");
這可能是可能是C#不喜歡的文字註冊的符號。我會建議嘗試使用字符代碼替換字符,使用整數值,十六進制或unicode。
以下是使用字符的整數值的示例。
string originalString = "whatever®";
string stuff = "something else";
char registered = (char)174;
string replacedString = originalString.Replace(registered, stuff);
嘗試使用Unicode字符來代替這個符號。
string x = "® ™ dwdd2";
string y = x.Replace('\u00AE', 'X');
它的工作;-)
http://msdn.microsoft.com/en-us/library/aa664669%28v=vs.71%29.aspx
而且Charakters的列表:
它爲我的作品:
var myString = "Hello world ®, will this work?";
var result = myString.Replace("®", "something else");
Console.WriteLine(result);
結果於:
你好世界別的東西,這個工作嗎?
你可以看到它run here。
您的原始字符串是否真的包含該字符,或者它是否包含類似於html實體的東西:®
或®
或該字符的其他「編碼」版本?
請顯示一些代碼。 –
你記得重新分配字符串嗎? – Brandon
是的,我稍後重新分配字符串。我會編輯這個問題,使其更清楚。 – bigamil