我有一个包含\u2265
的数据源,它是作为单个字符出现的大号或等号,如下所示:≥
但是,当数据到达我的应用程序时,它以\\u2265
的形式出现。
我现在不担心为什么出现了多余的\
。
相反,我只希望能够在应用程序中将\\u2265
转换为\u2265
。
我已经尝试过各种诸如此类的字符串操作,它们要么存在语法问题,要么根本不起作用:
disp = dataSource.Replace('\\', '\');
disp = dataSource.Replace("\\", "\");
和
int x = dataSource.IndexOf("\\u");
disp = dataSource.Substring(0, x) + dataSource.Substring(x+1);
Substring技术的部分问题在于
\\
被视为单个字符。 最佳答案
问题在于您的数据源将\u2265
作为string
,而不将其视为char
。如果将string
版本替换为char
版本,您将获得所需的内容。
data = data.Replace("\\u2265", '\u2265'.ToString());
ToString()
的原因是,我们可以对Replace
使用适当的重载。@ Flydog57提供的简单版本:
data = data.Replace("\\u2265", "\u2265");
受@Jimi启发的普通版本:
Regex r = new Regex(@"\\u[0-9]{4}");
var matches = r.Matches(data);
var uniqueMatches = matches
.OfType<Match>()
.Select(m => m.Value)
.Distinct();
foreach (var m in uniqueMatches)
{
data = data.Replace(m,Regex.Unescape(m));
}
关于c# - 将\u2265插入C#字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53766845/