给定一个Unicode字符串,我想用生成它们的LaTeX代码替换非ASCII字符(例如,已经é成为\'e,并œ成为\oe).我将它合并到Python代码中.这应该依赖于转换表,我已经提出了以下代码,这很简单,似乎很好用:
accents = [
[ u"à", "\\`a"],
[ u"é", "\\'e"]
]
translation_table = dict([(ord(k), unicode(v)) for k, v in accents])
print u"été à l'eau".translate(translation_table)
Run Code Online (Sandbox Code Playgroud)
但是,写一个相当完整的翻译表需要我很长时间,谷歌没有多大帮助.有人有这样的事情准备好,或知道在哪里找到一个?
PS:我是Python的新手,所以我欢迎对上面代码的评论.
我的任务是计算输入中感知字符的数量.输入是一组 int(我们可以将其视为一个int[]),表示Unicode代码点.
不允许使用java.text.BreakIterator.getCharacterInstance().(我的意思是他们的公式是允许的并且是我想要的,但是编织它们的源代码和状态表让我无处可去>.<)
我想知道在给定一些代码点的情况下,计算字形集群数量的正确算法是什么?
最初,我认为我所要做的就是结合所有出现的:
U+0300 – U+036F (结合变音符号)
U+1DC0 – U+1DFF (结合变音符号补充)
U+20D0 – U+20FF (结合符号的变音符号)
U+FE20 - U+FE2F (结合半分)
进入以前的非变音符号.
但是我意识到在该操作之前,我必须首先删除所有非字符.
这包括:
U+FDD0 - U+FDEF
每个平面的最后两个代码点
但似乎还有更多事情要做.Unicode.org指出我们需要包括U+200C(零宽度非连接器)和U+200D(零宽度连接器)作为连续字符集(源)的一部分.
除此之外,它还讨论了更多的事情,但整个主题都以抽象的方式处理.例如,什么是对的代码点范围间距组合标记,韩文字符JAMO形成韩文音节?
有没有人知道在给定int[]代码点的情况下计算字素集群数量的正确算法?
我想构建一个识别语音并将其转换为发音文本的Android应用程序(即比较特殊单词和用户语音之间的真实发音或重音).我只知道可以创建语音到文本.我想转换用户说的任何单词.
有没有API可以做到这一点?如果没有,请帮助我如何实现它.
我已经找到了如何在stackoverflow上删除变音字符的答案,但是请你告诉我是否可以将变音字符改为非变音字符?
哦..我想到.NET(或其他如果不可能)
我正在为一个法国客户开发我的第一个网站,我有很多问题,口音显示为"?".谷歌搜索了几天后,我以为我理解,但问题仍然存在.
为了简化它,我将仅解释电子邮件标题(该消息包含法语口音)
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
Run Code Online (Sandbox Code Playgroud)
我尝试过使用charset UTF-8和iso-8859-1,但我仍然收到这种类型的电子邮件:
Merci pour votre intérêt pour les tee shirts.
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮忙吗?基本上我到处都是mySql,HTML,PHP的这些问题.
谢谢.
无论如何要制作一个忽略重音的正则表达式?
例如:
preg_replace("/$word/i", "<b>$word</b>", $str);
Run Code Online (Sandbox Code Playgroud)
正则表达式中的"i"是忽略区分大小写,但无论如何要匹配,例如
java与Jávã?
我确实尝试制作$ str的副本,将内容更改为无重音字符串并找到所有出现的索引.但是2个字符串的索引似乎是不同的,即使它只是没有重音符号.
(我做了一项研究,但我所能找到的是如何从字符串中删除重音)
我需要像"César"这样的词匹配这样的正则表达式/^cesar/i.
是否有选项/i配置正则表达式,以便它忽略急性重音?或者唯一的解决方案是使用这样的正则表达式/^césar/i.
javascript regex diacritics special-characters non-ascii-characters
我正在使用PHP 14. März 2012(2012年3月14日)创建这样的德国日期格式.
我正在使用$date[0]它包含一个unix时间戳,我将它转换为可读的德国日期.
$date_day_month = strftime('%d. %B', $date[0]);
$date_year = strftime('%Y', $date[0]);
echo $date_day_month . $date_year;
Run Code Online (Sandbox Code Playgroud)
不过我在某种程度上得到了ä像这样的Umlaut的问号
14. M?rz 2012
为什么这样,我该如何解决这个问题?提前致谢.
我需要一个C#程序中的正则表达式.
我要捕获具有特定结构的文件的名称.
我使用了\ w char类,但问题是这个类与任何重音字符都不匹配.
那怎么办呢?我只是不想在我的模式中添加最常用的重音字母,因为我们理论上可以在每个字母上加上每个重音.
所以我虽然可能有一种语法,比如说我们想要一个不区分大小写(或者一个考虑重音的类),或者一个"正则表达式"选项,它允许我不区分大小写.
你知道这样的事吗?
非常感谢你
我需要执行对case和accents不敏感的SELECT查询.出于演示目的,我创建了一个这样的表:
create table table
(
column text collate nocase
);
insert into table values ('A');
insert into table values ('a');
insert into table values ('Á');
insert into table values ('á');
create index table_cloumn_Index
on table (column collate nocase);
Run Code Online (Sandbox Code Playgroud)
然后,我在执行以下查询时得到这些结果:
SELECT * FROM table WHERE column LIKE 'a';
> A
> a
SELECT * FROM table WHERE column LIKE 'á';
> á
SELECT * FROM table WHERE column LIKE 'Á';
> Á
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题,以便以下任何查询的结果如下:
> A
> a
> Á
> á …Run Code Online (Sandbox Code Playgroud)