字符串.替换不替换撇号
本文关键字:替换 字符串 | 更新日期: 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("'", "'");