首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从字符串中删除重音符号/变音符号,同时保留其他特殊字符(尝试过mb_chars.normalize和iconv)

从字符串中删除重音符号/变音符号,同时保留其他特殊字符,可以使用正则表达式和Unicode字符集。以下是一个PHP示例代码:

代码语言:php
复制
function removeAccents($string) {
    $string = preg_replace('/[\x{00C0}-\x{00C6}]/u', 'A', $string);
    $string = preg_replace('/[\x{00C7}]/u', 'C', $string);
    $string = preg_replace('/[\x{00C8}-\x{00CB}]/u', 'E', $string);
    $string = preg_replace('/[\x{00CC}-\x{00CF}]/u', 'I', $string);
    $string = preg_replace('/[\x{00D0}]/u', 'D', $string);
    $string = preg_replace('/[\x{00D1}]/u', 'N', $string);
    $string = preg_replace('/[\x{00D2}-\x{00D6}]/u', 'O', $string);
    $string = preg_replace('/[\x{00D8}]/u', 'O', $string);
    $string = preg_replace('/[\x{00D9}-\x{00DC}]/u', 'U', $string);
    $string = preg_replace('/[\x{00DD}]/u', 'Y', $string);
    $string = preg_replace('/[\x{00E0}-\x{00E6}]/u', 'a', $string);
    $string = preg_replace('/[\x{00E7}]/u', 'c', $string);
    $string = preg_replace('/[\x{00E8}-\x{00EB}]/u', 'e', $string);
    $string = preg_replace('/[\x{00EC}-\x{00EF}]/u', 'i', $string);
    $string = preg_replace('/[\x{00F0}]/u', 'd', $string);
    $string = preg_replace('/[\x{00F1}]/u', 'n', $string);
    $string = preg_replace('/[\x{00F2}-\x{00F6}]/u', 'o', $string);
    $string = preg_replace('/[\x{00F8}]/u', 'o', $string);
    $string = preg_replace('/[\x{00F9}-\x{00FC}]/u', 'u', $string);
    $string = preg_replace('/[\x{00FD}]/u', 'y', $string);
    return $string;
}

这个函数使用正则表达式和Unicode字符集来匹配和替换重音符号/变音符号。可以将输入字符串传递给这个函数,然后它将返回一个没有重音符号/变音符号的字符串。

例如,如果输入字符串为 "résumé",则函数将返回 "resume"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Unicode入门介绍学习总结

所有在范围U+D800-U+DFFF(或在其他范围) 的编码点,这些上表中二进制前缀 110110 110111 匹配的编码点——是 UTF-16 保留区域,它们自身不表示任何有效的字符。...Unicode 支持各种各样的变音符号,包括尖音符号重音符号、元音变音符号变音符号等等。所有这些变音符可以被使用在任何字母表的字母。事实上,多个变音符号可以被使用在一个字母上。...Unicode 中出现动态组合字符其他地区: 阿拉伯文希伯来文中的元音标记[15] 。这些语言中,单词通常由元音拼写。它们有变音符号标记元音(用在字典,语言教学材料,儿童教材,等地方)。...使用字位簇,确保在复制粘贴文本时不会突然丢掉一些符号同时左右方向键也总是以一个可见字符的距离移动,等等。 另一个用到字位簇的地方是,执行字符串长度限制——比如在数据库域中。...发生以上情况时无法显示的时候也需要有一个字符来表示的,在Unicode这个字符就是 �,他是Unicode定义的一个特殊字符

1.5K10

Unicode入门介绍学习总结

所有在范围U+D800-U+DFFF(或在其他范围) 的编码点,这些上表中二进制前缀 110110 110111 匹配的编码点——是 UTF-16 保留区域,它们自身不表示任何有效的字符。...Unicode 支持各种各样的变音符号,包括尖音符号重音符号、元音变音符号变音符号等等。所有这些变音符可以被使用在任何字母表的字母。事实上,多个变音符号可以被使用在一个字母上。...Unicode 中出现动态组合字符其他地区: 阿拉伯文希伯来文中的元音标记[15] 。这些语言中,单词通常由元音拼写。它们有变音符号标记元音(用在字典,语言教学材料,儿童教材,等地方)。...使用字位簇,确保在复制粘贴文本时不会突然丢掉一些符号同时左右方向键也总是以一个可见字符的距离移动,等等。 另一个用到字位簇的地方是,执行字符串长度限制——比如在数据库域中。...发生以上情况时无法显示的时候也需要有一个字符来表示的,在Unicode这个字符就是 �,他是Unicode定义的一个特殊字符

1K10

MySQL字符集大揭秘:排序规则决定你的数据如何排序!

字符排序规则的基础知识 首先,我们需要了解一些基础概念: 字符集(Character Set):字符集定义了数据库可以存储的字符符号的集合。...特殊字符的处理:排序规则可能会影响特殊字符(如重音符号、附加符号)的处理方式。一些规则将这些字符视为等同,而其他规则将其视为不同。 排序顺序:不同排序规则可能会导致字符的不同排序顺序。...示例2:特殊字符处理规则 考虑两个带有重音符号字符串:"café""cafe"。 使用utf8generalci排序规则时,这两个字符串被认为是相同的,因为它不考虑重音符号。...使用utf8_bin排序规则时,这两个字符串被视为不同,因为它区分重音符号。所以它们被分开排序。 如何选择适当的字符排序规则 选择适当的字符排序规则取决于你的应用需求和数据类型。...**特殊字符需 求**:如果你的数据包含特殊字符(如重音符号),请确保选择了适当处理这些字符的排序规则。 性能需求:不同的排序规则可能对查询性能产生影响。

56320

【汇编】速查手册

字符(输出) 7 键盘输入(无回显) AL=输入字符 8 键盘输入(无回显) AL=输入字符 检测Ctrl-Break 9 显示字符串 DS:DX=串地址 '$'结束字符串 0A 键盘输入到缓冲区...AL=FF 未找到 13 删除文件 DS:DX=FCB首地址 AL=00 删除成功 AL=FF 未找到 14 顺序读 DS:DX=FCB首地址 AL=00 读成功 =01 文件结束,记录无数据...97 EPA 保护区结束 152 98 [保留] 153 99 [保留] 154 9A [保留] 155 9B CSI 控制序列引导符 156 9C ST 字符串终止符 157 9D OSC 操作系统命令...158 9E PM 秘密消息 159 9F APC 应用程序 其他字符 160 A0 [保留] 2 161 A1 ¡ 反向感叹号 162 A2 ¢ 分币符 163 A3 £ 英磅符 164 A4...219 DB Û 带音调符号的大写字母 U 220 DC Ü 带元音变音 (分音符号) 的大写字母 U 221 DD Y 带元音变音 (分音符号) 的大写字母 Y 222 DE [保留] 2 223

71110

一起学 Elasticsearch 系列-分词器

Removing diacritical marks:移除重音符号其他变音记号。例如,将 "résumé" 转换为 "resume"。...normalization的作用就是将文档规范化,提高召回率 举个例子: 假设我们希望在 Elasticsearch 创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号...这包括删除HTML标签、转换符号等。 下面是一些常用的 Character Filter: HTML Strip Character Filter:输入中去除HTML元素,只保留文本内容。...Mapping Character Filter:通过一个预定义的映射关系,将指定的字符字符串替换为其他字符字符串。例如,你可以定义一个规则将 "&" 替换为 "and"。...例如,假设你需要在索引或搜索时删除所有的数字,可以使用 Pattern Replace Character Filter,并设置一个匹配所有数字的正则表达式 [0-9],然后将其替换为空字符串其他所需的字符

19820

学好Elasticsearch系列-分词器

Removing diacritical marks:移除重音符号其他变音记号。例如,将 "résumé" 转换为 "resume"。...举个例子: 假设我们希望在 Elasticsearch 创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号。...这包括删除HTML标签、转换符号等。 下面是一些常用的 character filter: HTML Strip Character Filter:输入中去除HTML元素,只保留文本内容。...Mapping Character Filter:通过一个预定义的映射关系,将指定的字符字符串替换为其他字符字符串。例如,你可以定义一个规则将 "&" 替换为 "and"。...例如,假设你需要在索引或搜索时删除所有的数字,可以使用 Pattern Replace Character Filter,并设置一个匹配所有数字的正则表达式 [0-9],然后将其替换为空字符串其他所需的字符

29020

学好Elasticsearch系列-分词器

Removing diacritical marks:移除重音符号其他变音记号。例如,将 "résumé" 转换为 "resume"。...举个例子: 假设我们希望在 Elasticsearch 创建一个新的索引,该索引包含一个自定义分析器,该分析器将文本字段转换为小写并移除变音符号。...这包括删除HTML标签、转换符号等。 下面是一些常用的 character filter: HTML Strip Character Filter:输入中去除HTML元素,只保留文本内容。...Mapping Character Filter:通过一个预定义的映射关系,将指定的字符字符串替换为其他字符字符串。例如,你可以定义一个规则将 "&" 替换为 "and"。...例如,假设你需要在索引或搜索时删除所有的数字,可以使用 Pattern Replace Character Filter,并设置一个匹配所有数字的正则表达式 [0-9],然后将其替换为空字符串其他所需的字符

25120

史上最全ASCII码对照表0-255(%d)

26 1A SUB 替换 (Ctrl/Z) 27 1B ESC 换码符 28 1C FS 文件分隔符 29 1D GS 组分隔符 30 1E RS 记录分隔符 31 1F US 单位分隔符 ASCII 特殊和数字字符...感叹号 34 22 “ 引号 (双引号) 35 23 # 数字符号 36 24 $ 美元符 37 25 % 百分号 38 26 & 号 39 27 ‘ 省略号 (单引号) 40 28 ( 左圆括号 41...97 EPA 保护区结束 152 98 [保留] 153 99 [保留] 154 9A [保留] 155 9B CSI 控制序列引导符 156 9C ST 字符串终止符 157 9D OSC 操作系统命令...158 9E PM 秘密消息 159 9F APC 应用程序 其他字符 160 A0 [保留] 2 161 A1 ¡ 反向感叹号 162 A2 ¢ 分币符 163 A3 £ 英磅符 164 A4...219 DB Û 带音调符号的大写字母 U 220 DC Ü 带元音变音 (分音符号) 的大写字母 U 221 DD Y 带元音变音 (分音符号) 的大写字母 Y 222 DE [保留] 2 223

91230

史上最全ASCII码对照表0-255(%d)

26 1A SUB 替换 (Ctrl/Z) 27 1B ESC 换码符 28 1C FS 文件分隔符 29 1D GS 组分隔符 30 1E RS 记录分隔符 31 1F US 单位分隔符 ASCII 特殊和数字字符...感叹号 34 22 " 引号 (双引号) 35 23 # 数字符号 36 24 $ 美元符 37 25 % 百分号 38 26 & 号 39 27 ' 省略号 (单引号) 40 28 ( 左圆括号 41...97 EPA 保护区结束 152 98 [保留] 153 99 [保留] 154 9A [保留] 155 9B CSI 控制序列引导符 156 9C ST 字符串终止符 157 9D OSC 操作系统命令...158 9E PM 秘密消息 159 9F APC 应用程序 其他字符 160 A0 [保留] 2 161 A1 ¡ 反向感叹号 162 A2 ¢ 分币符 163 A3 £ 英磅符 164 A4...219 DB Û 带音调符号的大写字母 U 220 DC Ü 带元音变音 (分音符号) 的大写字母 U 221 DD Y 带元音变音 (分音符号) 的大写字母 Y 222 DE [保留] 2 223

86920

Mongodb 也有collation 与 如何使用

因为如果我们不进行这个操作,MONGODB 对于这些数据的操作将采用普通的二进制字符串来对比。...我们建立了一个 en_test 的collection, 我们的collation选择的是 en_US ,排序规则,其中比较的方式的深度,下探到第三个等级,其中包含字母的大小写比较,字母变体,变音符号等...另外还有其他的一些选择,这里由于没有一些如,丹麦,瑞典,等国的知识,以及语言和重音符号的知识,所以,这些选项暂时无法得知相关的使用用途。...下面我们举一个例子,在一个字符串,我们需要使用英文的方式对大小写进行比较,大写大于小写,同时我们需要对数字使用数字的方式进行数值的比对 db.createCollection("text_compare...COLLATION 的COLLECTION的建立索引以及一些特性的问题,希望能让大家在使用MONGODB 的同时,对于一些更多的细节有更深的了解。

48630

干货 | iOS 程序员眼中的 Emoji

如果 Unicode 尝试为字母变音符号的每种可能组合分配不同的代码点,那么事情将很快失去控制。...相反,动态合成系统可以通过从基字符开始,并附加称为“组合字符”的其他代码点来指定变音符号,最后构造所需的字符。...动态组合与预设字符等值问题 Unicode ,预设字符动态组合系统并存。后果就是有多种方法表示同一个字符串——不同编码点序列产生相同用户可感知的字符。...使用字位簇,确保在复制粘贴文本时不会突然丢掉一些符号同时左右方向键也总是以一个可见字符的距离移动,等等。 另一个用到字位簇的地方是,执行字符串长度限制——比如在数据库域中。...iOS 字符串的 Emoji 上面 Unicode 一直介绍到 Emoji 的编码,那 Emoji 在 iOS 日常开发有哪些坑呢?

1.5K10

iOS CFStringTransform 智能地处理用户的输入内容:应用场景{索引}【修订版】

1.1 Transform identifiers 1.1.1 不同拼写之间的转换 1.1.2 去掉重音变音符号 1.1.3 找出特殊字符的 Unicode 标准名 2.1 原理 2.2 demo...源码 前言 iOS处理语言工具CFStringTransform :智能地处理用户的输入内容,经典应用场景【索引】 CSDN下载通讯录demo源码 https://download.csdn.net...CFMutableStringRef string, CFRange *range, CFStringRef transform, Boolean reverse); 第一个参数CFMutableStringRef:要转换的字符串...ニホンゴ kCFStringTransformMandarinLatin 中文 zhōng wén kCFStringTransformToLatin 非英文文本转换为拉丁字母 1.1.2 去掉重音变音符号...1.1.3 找出特殊字符的 Unicode 标准名 kCFStringTransformToUnicodeName包括 Emoji

29620

libxml2剖析(2):编译

iconv: 一个强大的字符编码转换库。缺省情况下它已经被包含到当前的glibc库,因此在Linux上并不需要另外再安装。...iconv.h.build.in包含一些@开头的符号变量,这是为了提高可移植性而定义的,它们用来收集一些特定于系统的编译构建信息。在用....3)@EILSEQ@: EILSEQ是errno.h定义的一个错误码,表示非法字节序列(例如在MBCS字符串)。...举个例子,有些字符集包含了一类带有状态编码的字符,如很多Latin语言系带有的重音符号(accent),通常用一个编码表示一种accent,其后面的一个字符表示需要添加accent的字符(因此如果需要输出...在BSD/OS 4.0.1上有一个bug,必须在包含之前必须先包含stddef.h>,。本变量标记这样的特殊情况。

1.9K20

linux下的vim使用方法

在这个模 式, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整列』来处 理文件内容, 也可以使用『复制、贴上』来处理你的文件数据。...(常用) :1,$s/word1/word2/g 第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2 !...(常用) :1,$s/word1/word2/gc 第一列到最后一列寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!...以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)): 5.4.1 vim出现暂存文件原因和解决方案 问题一:可能有其他人或程序同时在编辑这个文件...而我们也可 以利用 cat -A 来观察以 DOS (Windows 系统) 建立的文件的特殊格式, 也可以发现在 DOS 使用 的断行字符为^M$我们称为 CR 与 LF 两个符号

2.3K20

18个您想了解的微小但有用的macOS功能

3.切换特殊的Safari页面 我熟悉显示特殊Safari页面的快捷方式,例如历史记录(Command + Y)显示所有选项卡(Command + Shift + \)。...11.快速添加口音 要在简历输入é还是在绉纸输入ê ?您无需调出带有重音符号的键盘快捷键或网络上复制这些字符。按住E键,您将在此处看到与其关联的所有变音符号。...此技巧仅适用于带有重音符号的字母键。对于您经常使用的其他特殊字符,请在“系统偏好设置”>“键盘”>“文本”下设置文本扩展快捷方式。我为卢比符号创建了一个。每当我输入rs时,它就会显示出来。...14.标题栏创建文件副本别名 下次在任何应用程序打开文件时,请注意标题栏中文件名前面的小图标。您是否知道可以单击此图标并将其拖到任何Finder位置来创建该文件的别名或快捷方式?...18.任何窗格查看所有系统偏好设置 如果每次要切换到其他窗格时都使用“显示全部”按钮还原到“系统偏好设置”的主视图,则需要此设置。无需单击该按钮,而是单击并按住以显示带有所有可用首选项窗格的菜单。

6K30

康耐视VIDI介绍-蓝色读取工具(Read)

然后在“最小长度”字段输入字符串应包含的字符数,从而创建字符串模型(“工具”菜单中选择“编辑模型”)。...模型的最终“匹配字符串”将包括这些空格。 空格是唯一的特殊字符其他空白字符只是尝试匹配用该特定字符标注的特征。 请特别注意,正则表达式模型不支持任何“多行”模型,CR或LF字符没有特殊含义。...请注意在 Unicode 存在所谓的“组合字符”,这意味着字符可以包含多个代码点。这是表达变音符号异常组合的常用方法。...(带有dakuten或handakuten变音符号的半宽日语假名是值得注意的例外情况,这些符号在 Unicode没有预先组合的形式。)...,选择一个良好的字符实例 2️⃣ 主显示屏将切换到该图像,右键单击图像并选择接受视图 3️⃣ 这将创建该字符实例的标签 4️⃣ 同时删除工具错误标注字符的任何实例:选择字符,右键单击并选择删除特征即可

2.8K51
领券