c# - 用空格替换非罗马字符
问题描述
我读了一个 .xlsx 文件,其中一些单元格包含特殊字符。在将此类数据插入数据库时,这给我带来了问题,因此我尝试将此类字符替换为空格,如下所示:
using System;
using System.Text.RegularExpressions;
namespace ConsoleApp2
{
public class Program
{
public static void Main(string[] args)
{
var name = "MONEDA S.A. ADMINISTRADORA DE FONDOS DE INVERSIモN";
name = Regex.Replace(name, @"[^A-Za-z0-9 ]", "");
Console.WriteLine(name);
}
}
}
但是这样,我也替换了.
,-
和,
- 这样的字符,这是不可取的。那么,我怎样才能只替换非罗马字符呢?
解决方案
看一下 ASCII 表。从你所说的,只要去掉任何不是标准 ASCII 的东西:
var name = "MONEDA S.A. ADMINISTRADORA DE FONDOS DE INVERSIモN";
name = new string(name.Where(c => (int)c <= 127).ToArray());
推荐阅读
- javascript - Apache httpd:根据文件类型有条件地设置响应标头。我需要将“X-Content-Type-Options: nosniff”添加到哪个文件?
- android - 在 Android ConstraintLayout 中创建网格(n × n),可变数量为 n
- vega - Vega-Embed 给出构建错误找不到名称“提取”和“排除”
- r - 句子中的字符串替换有某个单词
- python - 如何在python中对熊猫数据框的每一行进行计算?
- c++11 - 当键是指针时,std::map 查找失败
- visual-studio - 在 TFS 上安装 Visual Studio npm 获取最新
- ios - 将 imageview 添加到滚动视图页面控件
- nginx - nginx gzip 不压缩带有版本号的 css/js 文件
- amazon-web-services - 创建 AWS sagemaker 端点并使用 AWS lambda 删除它