字符串.替换不替换撇号

本文关键字:替换 字符串 | 更新日期: 2023-09-27 17:55:14

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

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

有人有什么想法吗?

字符串.替换不替换撇号

替换

不起作用,因为'不是同一个字符。

也许你忘了捕获结果,你的代码太短了,无法分辨。

'是不同的字符。您还需要将其分配给某个地方(字符串是不可变的),Replace()返回新字符串:

myString = myString.Replace("’", "'");

由于字符串是不可变的,因此您需要将结果分配回另一个字符串。

string original = "/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious";
string updated = original.Replace("’","'");

(另请注意,'和'是不一样的)

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

尝试在新的字符串引用中分配"’""'"

string str = "/news/2012/march/cameron’s-crackdown-on-whiplash-–-why-the-minimum-speed-requirement-is-oddly-suspicious".Replace("’", "'");

您正在替换'而不是。另请记住,字符串是不可变的,因此如果要存储结果,则必须将结果分配给新变量。

只需将结果分配给变量

var str = "...".Replace("'", "'");