基本上我想要做的是更换喜欢™,®等标志与别的东西,但是当我打电话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