String.Replace不替换撇号

Fun*_*nky 4 c# string replace

我正在尝试用字符串替换撇号,由于某种原因,该方法只是在字符串中找不到撇号.这是一个似乎不起作用的URL:

"/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious"
.Replace("'", "'");
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法?

Hen*_*man 9

替换不起作用,因为并且'不是相同的字符.

也许你忘了捕获结果,你的代码太短暂无法辨别.


Zbi*_*iew 5

并且'是不同的人物.你还需要在某处分配它(字符串是不可变的),Replace()返回新的字符串:

myString = myString.Replace("’", "'");
Run Code Online (Sandbox Code Playgroud)


Son*_*nül 3

字符串是不可变类型。你无法改变它们。即使您认为更改了它们,您也会创建一个新的字符串对象String.Replace()顺便说一下,方法还返回一个新字符串。

\n\n

"\xe2\x80\x99"尝试使用not分配新的字符串引用"\'"

\n\n
string str = "/news/2012/march/cameron\xe2\x80\x99s-crackdown-on-whiplash-\xe2\x80\x93-why-the-minimum-speed-requirement-is-oddly-suspicious".Replace("\xe2\x80\x99", "'");\n
Run Code Online (Sandbox Code Playgroud)\n