我有一个包含\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/

10-11 22:47