我正在尝试用字符串替换撇号,由于某种原因,该方法只是在字符串中找不到撇号。这是一个似乎不起作用的URL:
"/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious"
.Replace("'", "'");
有没有人有任何想法?
答案 0 :(得分:9)
替换不起作用,因为’
和'
不是同一个字符。
也许你忘了捕捉结果,你的代码太短了,无法说出来。
答案 1 :(得分:5)
’
和'
是不同的字符。您还需要将其分配到某处(字符串是不可变的),Replace()
返回新的字符串:
myString = myString.Replace("’", "'");
答案 2 :(得分:3)
由于字符串是不可变的,因此您需要将结果分配回另一个字符串。
string original = "/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious";
string updated = original.Replace("’","'");
(还要注意`和'不一样)
答案 3 :(得分:3)
字符串是不可变类型。你无法改变它们。即使您认为自己更改了它们,也 创建新的字符串对象 。顺便提一下,String.Replace()
方法也会返回一个新字符串。
尝试使用"’"
而不是"'"
来分配新的字符串参考。
string str = "/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious".Replace("’", "'");
答案 4 :(得分:1)
您正在替换'
而不是’
。还要记住字符串是不可变的,因此如果要存储它,必须将结果分配给新变量。
答案 5 :(得分:0)
只需将结果分配给变量
var str = "...".Replace("'", "'");