c# - 将\u2265 插入 C# 字符串

标签 c# string char

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

相关文章:

php - 需要动态替换字符串中的参数

c++ - C\C++ : Initialize ASCII special char?

c++ - 如何将 char 数组转换为单个整数?

c++ - char 数组的奇数输出

c# - 单元测试异步方法

c# - 如何读取动态对象值

python - 在不丢失精度的情况下将 `float` 类型转换为 `str`

C++ <algorithm> 替换所有不工作的事件

c# - 在 Windows 窗体中使用线程

c# - 富文本格式行间距