比较法语字符 Î 时出现问题

2024-01-22

当比较“Île”和“Ile”时,C# 并不认为它们是相同的。

    string.Equals("Île", "Ile", StringComparison.InvariantCultureIgnoreCase)

对于所有其他带重音的字符,我发现比较效果很好。

我还应该使用其他比较功能吗?


您指定使用不变区域性的比较规则来比较字符串。显然,在不变文化中,两个字符串不被视为相等。

您可以使用 String.Compare 以特定于区域性的方式比较它们,并提供要比较字符串的区域性:

if(String.Compare("Île", "Ile", new CultureInfo("fr-FR"), CompareOptions.None)==0)

请注意,在法国文化中,这些字符串也被认为是不同的。我提供的示例是为了表明,定义排序规则的是文化。您也许能够找到一种适合您要求的文化,或者使用所需的比较规则构建自定义文化,但这可能不是您想要的。

对于规范化字符串以使其没有重音符号的一个很好的示例,看看这个问题 https://stackoverflow.com/questions/249087/how-do-i-remove-diacritics-accents-from-a-string-in-net。规范化字符串后,您将能够比较它们并认为它们相等。这可能是实现您的要求的最简单的方法。

Edit

在 InvariantCulture 中,不仅仅是 I 字符具有此行为,此语句也会返回 false:

String.Equals("Ilê", "Ile", StringComparison.InvariantCultureIgnoreCase)

该框架做了正确的事情 - 这些字符实际上在大多数文化中都是不同的(具有不同的含义),因此不应将它们视为相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较法语字符 Î 时出现问题 的相关文章

  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 在 OnModelCreating 期间设置列名称

    Issue 我目前正在尝试通过设置的属性为我的表及其列添加前缀 我正在使用实体框架核心 我已经正确地为表名添加了前缀 但我似乎无法弄清楚列的前缀 我有一种感觉 我需要使用反射 我已经留下了我的 可能很糟糕的 反思尝试 有人有办法在实体中设置
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • 在 omp 并行 for 循环中使用 unique_ptr 会导致 SEG.FAULT

    采取以下代码 include
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • C# 编译器不会优化不必要的强制转换

    前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
  • MFC:如何设置CEdit框的焦点?

    我正在开发我的第一个简单的 MFC 项目 但我正在努力解决一个问题 想要设置所有的焦点CEdit其中一个对话框中的框 我的想法是 当打开对话框时 焦点位于第一个编辑框上 然后使用 选项卡 在它们之间交换 我看到了方法SetFocus 但我无
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 使用 GCC 生成可读的程序集?

    我想知道如何使用GCC http en wikipedia org wiki GNU Compiler Collection在我的 C 源文件中转储机器代码的助记符版本 这样我就可以看到我的代码被编译成什么 你可以使用 Java 来做到这一
  • 如何从 Rx Subscribe 回调异步函数?

    我想回调 Rx 订阅中的异步函数 例如 像那样 public class Consumer private readonly Service service new Service public ReplaySubject
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 通过 Tab 键浏览 XML 文档字段

    In VB NET you can move through the fields in the XML member documentation with the Tab key 这在 C 中不起作用 还有其他方法吗 除了用鼠标将光标放在
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 如何使用placement new重新初始化该字段?

    我的课程包含字段 private OrderUpdate curOrderUpdate 我一遍又一遍地使用它 经常需要重新初始化 for int i 0 i lt entries size i auto entry entries i ne

随机推荐

  • SQLite 的 ContentObserver?

    我一直在研究如何在 ListView 中显示数据库中的数据 同时跟踪数据库中的更改 假设我有一个聊天应用程序 它显示我所属的所有聊天室的列表视图 适配器的查询是SELECT FROM CHAT ROOM ORDER BY UPTDATE T
  • Airflow为每个DAG添加一个UI按钮

    默认情况下 每个 DAG 有一堆按钮 Trigger Dag Delete Dag等 在 UI 的主 管理 视图中 我一直在尝试添加一个像上面描述的那样的按钮 每次单击它时它都会发送一个 Http 请求 我已经成功使用这些插件 https
  • 通过值查找映射中的元素

    我正在创建一个HandleManager其目的是简单地映射Handles 这是一个typedef of long long int to strings 目的是让使用 a 的对象Handle也可以通过以下方式识别string如果它可以帮助用
  • 有没有利用 jQuery 的 JavaScript WYSIWYG?

    我看过TinyMCE http tinymce moxiecode com FCK编辑器 http www fckeditor net YUI 富文本编辑器 http developer yahoo com yui editor NicEd
  • Python底图模块无法导入

    我在 python 中导入 mpl toolkits 的底图模块时遇到麻烦 这是从模块目录运行 test py 脚本时得到的结果 usr lib python2 7 dist packages mpl toolkits basemap py
  • 对话框大小与背景图像不匹配

    我正在使用 Android SDK 制作游戏 一路上 我需要像任何其他游戏一样显示弹出窗口 对话框 用户可以升级或其他什么 我遇到的问题是对话框的大小 我正在使用RelativeLayout 并使用 wrap content 将背景设置为图
  • 将类成员复制到其他类中 - eclipse

    当您需要将某些类功能移动到另一个类中时 可以通过通过引用某些公共变量 Ctrl Shift G 搜索相应的方法 然后使用 Eclipse 的重构功能 Move 来轻松完成 该功能允许移动选定的方法进入其他班级 但也可能发生您需要复制方法的情
  • 存储词频列表选择Trie还是HashMap?

    我有一个包含 100 万个英语单词的 txt 文件 其频率采用以下格式 好 345667坏 456777 我需要使用 Java 中的 HashMap 或 Trie 数据结构来存储它 稍后我需要从列表中查找单词而不进行其他操作 我的理解是 H
  • Rails 应用程序使用 Devise 时使用 session_id 和 Remember_user_token 的区别

    我正在使用 Devise 1 5 4 和 Rails 3 0 20 以下是我所了解的事实 浏览器有一个session id的Cookie 它可以帮助普通应用程序唯一地跟踪会话 可能有也可能没有用户登录 如果用户已登录 并假设他选择了 Rem
  • 如何在 Hibernate 单元测试中忽略某些字段

    我的实体模型中有以下字段 Column name key ColumnTransformer read AES DECRYPT key SHA1 passcode write AES ENCRYPT SHA1 passcode privat
  • 与使用 Github 的人共享 git repo 的一个分支的好方法是什么?

    We use 发展大师 我们合并stable要掌握的主题分支 对于我们的客户 我们来自 master 的分支 我们需要让一些外部协作者 通常是前端开发人员 在客户的分支上进行协作 但他们不得有任何访问权限 读或写 到其他分支或master
  • Angular UI 选择不显示

    我目前正在使用 ui select https github com angular ui ui select https github com angular ui ui select 用于下拉菜单 我已将 select js 和 sel
  • ASP.NET Identity 更新 AspNetUsers 表中主键 Id 的列类型从字符串到 int 或 guid,是还是否?

    今天我了解了 ASP NET Identity 2 0 alpha 中的新功能 http blogs msdn com b webdev archive 2013 12 20 announcing preview of microsoft
  • 红点标记 BitBucket 差异视图

    我们最近将源代码从 SVN 和 TFVC 迁移到了 Git 我们的代码库主要由在 VS2017 中编辑的 C 和 VB NET 文件组成 我们的 Git 存储库托管在 BitBucket 中 但我们存在差异问题 如下所示 BitBucket
  • 如何删除swarm中未使用的docker镜像?

    我们有一个系统 用户可以在其中安装一些 docker 容器 我们对他可以安装的内容没有限制 一段时间后 我们需要清理 删除群中未使用的所有图像 使用 docker 远程 API 的解决方案是什么 我们的想法是让背景图像垃圾收集器线程 列出所
  • 从使用 WCF WebHttp API 实现的服务中的 POST 方法获取原始 xml

    我正在使用 RESTful 方法构建 Web 服务 并使用 WCF WebHttp API NET v4 为了满足一些遗留功能 我需要通过 POST 接受原始 XML 消息并对其进行处理 例如 我的方法之一如下所示 WebInvoke Ur
  • 使用 javax.xml.soap.SOAPConnection 设置套接字读取超时

    我正在使用javax xml soap API javax xml soap SOAPConnectionFactory javax xml soap SOAPConnection和朋友 对远程服务器进行 Web 服务调用 大部分都取得了巨
  • 错误 MSB3644:找不到框架“.NETFramework,Version=v5.0”的参考程序集

    当我将项目更新到 Net 5 时 我使用天蓝色管道 我在构建解决方案步骤中收到此错误 错误 MSB3644 找不到框架 NETFramework Version v5 0 的参考程序集 要解决此问题 请安装此框架版本的 SDK 或 Targ
  • 没有模型 yii2 的 ActiveForm

    我想创建ActiveForm没有模型以防万一 我确实尝试过dynamicModel但我遇到了一些错误 use yii base DynamicModel model DynamicModel validateData compact KOM
  • 比较法语字符 Î 时出现问题

    当比较 le 和 Ile 时 C 并不认为它们是相同的 string Equals le Ile StringComparison InvariantCultureIgnoreCase 对于所有其他带重音的字符 我发现比较效果很好 我还应该