- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 iTextSharp 生成一系列 PDF,使用 Open Sans 作为默认字体。有时,名称会插入到 PDF 的内容中。但是我的问题是我需要插入的一些名称包含 CJK 字符(存储在 SQL Server 的 nvarchar 列中),据我所知,Open Sans 目前不支持 CJK 字符。我需要继续使用 Open Sans 作为我的默认字体,因此理想情况下,我想尝试检测从数据库中抓取的字符串中的 CJK 字符,并在打印这些字符时切换到 CJK 字体。
正则表达式是最好的选择吗?不幸的是,我还没有找到任何有助于解决此问题的正则表达式模式。
在此先感谢您的帮助!
最佳答案
为了防止有人偶然发现这个问题,我找到了另一种解决方案,使用正则表达式中列出的 unicode block (http://msdn.microsoft.com/en-us/library/20bw873z.aspx#SupportedNamedBlocks)。
var Name = "Joe Bloggs";
var Regex = new Regex(@"\p{IsCJKUnifiedIdeographs}");
if(Regex.IsMatch(Name))
{
//switch to CJK font
}
else
{
//keep calm and carry on
}
编辑:
您可能需要匹配的不仅仅是统一表意文字,请尝试将其用作正则表达式:
string r =
@"\p{IsHangulJamo}|"+
@"\p{IsCJKRadicalsSupplement}|"+
@"\p{IsCJKSymbolsandPunctuation}|"+
@"\p{IsEnclosedCJKLettersandMonths}|"+
@"\p{IsCJKCompatibility}|"+
@"\p{IsCJKUnifiedIdeographsExtensionA}|"+
@"\p{IsCJKUnifiedIdeographs}|"+
@"\p{IsHangulSyllables}|"+
@"\p{IsCJKCompatibilityForms}";
这适用于我试过的所有韩语文本。
关于c# - 检测字符串中的 CJK 字符 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16415074/
这真是一个奇怪的要求,我正在制作一个香港网站。我需要在同一个网页上支持简体和繁体中文,并且我还希望它是谷歌Noto字体。 Google 提供了简体和繁体两种字体版本。 我的问题是,如果我只设置Noto
1.sqlite3 import sqlite3 con=sqlite3.connect("g:\\mytest1.db") cur=con.cursor() cur.execute('create
1.sqlite3 import sqlite3 con=sqlite3.connect("g:\\mytest1.db") cur=con.cursor() cur.execute('create
我有一个 PHP 脚本,它通过 Salesforce API 从 Salesforce 获取数据并使用 file_put_contents 将输出写入一个文件。数据是韩文字符和英文字符的混合。 当我在
Xamarin写Android程序时,通常要使用按中文首字母分组显示(如通讯录) 。 于是需要被迫包含CJK,不过包含后包肯定是会变大的,于是。。。。自己写了一个硬枚举的中文转拼音的类。 原理是
有没有好的(最好是开放的)中/日/韩语发音音频文件的 API 或数据库?我一直在环顾四周,但不知何故除了Forvo之外什么也找不到。或谷歌翻译。两者对我来说都是矫枉过正,因为我只需要这些语言的数据,只
我有一个文件,file1.txt ,包含英文、中文、日文和韩文文本。为了在 ConTeXt 中使用,我需要根据语言(英语除外)标记文件中的每个文本区域,并输出一个新文件,例如,这是一个示例行: The
我有一个字符串,可以是英文单词,也可以是单个 CJK 字符。我保证该字符串采用 UTF-8 编码。我正在 perl 脚本内部工作。 更高级别的问题是我有一个像上面描述的那样的字符串数组。我正在做一个连
当给定一个包含 CJK 字符的字符串时,String.length 返回字符串中错误的字符数,因为它计算的是字节数。例如: # String.length "第1";; - : int = 4 字符串
我使用 JavaScript 创建音译。我想知道是否有可能将 CJK 文本拆分成一系列单词,根据某些分词标准定义。还有其他选择吗? 期望的行为: 设置:动的密习近平 结果:[动,的,密,习,近平] 最
如您所知,在中国大陆、台湾、日本和韩国,人们有时会垂直书写和阅读,here's a simple example : 几年前,没有办法这样做。 好吧,至少没有漂亮的方法,你知道当时流行的一种方法是:每
抱歉我的英语不好,这不是我的第一语言。 我有一个 Python3 文件,其内容是 print(input(">")) 当我在 zsh 或 bash 上运行它并编写 hangul 并使用我的退格键时,会
问题:“仅支持 Unicode BMP 是否足以使以中文/日文/韩文为母语的人使用其母语的应用程序?” 我现在最关心的是说日语的人,但我也对中国人的答案感兴趣。如果应用程序仅支持 BMP 上的字符 -
我的应用程序允许用户即时切换语言。我发现大约 10% 的用户切换到中文或日文时,UI 文本的字形呈现不正确。 此应用程序在 iMX6 平台上的 Linux 下运行。正在使用 Qt 5.5.0。 QML
我确定这是由 gdb 的编码引起的,并在 gdb 中找到了改变编码的命令: 设置字符集字符集名称 我试过utf8, UTF8, UTF-8, utf-8,gbk、gb2312等来替换charsetna
这个问题在这里已经有了答案: Use regular expression to match ANY Chinese character in utf-8 encoding (8 个答案) 关闭 9
我的首选字体是 Inconsolata,它会破坏 GitHub 的 octicon 网络字体。昨天我更新了我的 Google Chrome 用户样式表以在 GitHub 上正确显示 octicon 字
我正在使用 iTextSharp 生成一系列 PDF,使用 Open Sans 作为默认字体。有时,名称会插入到 PDF 的内容中。但是我的问题是我需要插入的一些名称包含 CJK 字符(存储在 SQL
我正在尝试在 Excel 2016 中创建一个 IF 语句。我的电子表格有日语字符,我需要进行比较 =IF(A2="ア", TRUE, FALSE) 但是,即使 A2 实际上包含片假名 ア,该函数也总
我要查找的文件格式为 cmn-我.flac ,其中 CJK 字符是可变的。 使用 find命令,我应该使用什么正则表达式来 查找名称中包含单个 CJK 字符的所有文件? 提示: 以下正则表达式查找所有
我是一名优秀的程序员,十分优秀!