我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号).
我在Web上发现了一种在Java中执行此操作的优雅方法:
我是否需要安装pyICU等库?或者只使用python标准库?那python 3怎么样?
重要说明:我想避免代码使用重音字符到非重音符号的显式映射.
我正在尝试转换一些法语加拿大语的字符串,基本上,我希望能够在保留字母的同时取出字母中的法语重音符号.(例如转换é为e,所以crème brûlée会变成creme brulee)
实现这一目标的最佳方法是什么?
如何从字符串中删除突出的字符?特别是在IE6中,我有这样的事情:
accentsTidy = function(s){
var r=s.toLowerCase();
r = r.replace(new RegExp(/\s/g),"");
r = r.replace(new RegExp(/[àáâãäå]/g),"a");
r = r.replace(new RegExp(/æ/g),"ae");
r = r.replace(new RegExp(/ç/g),"c");
r = r.replace(new RegExp(/[èéêë]/g),"e");
r = r.replace(new RegExp(/[ìíîï]/g),"i");
r = r.replace(new RegExp(/ñ/g),"n");
r = r.replace(new RegExp(/[òóôõö]/g),"o");
r = r.replace(new RegExp(/œ/g),"oe");
r = r.replace(new RegExp(/[ùúûü]/g),"u");
r = r.replace(new RegExp(/[ýÿ]/g),"y");
r = r.replace(new RegExp(/\W/g),"");
return r;
};
Run Code Online (Sandbox Code Playgroud)
但IE6让我烦恼,似乎它不喜欢我的正则表达式.
是否有更好的方法来摆脱重音并使这些字母与使用String.replaceAll()方法和逐个替换字母分开?例:
输入: or?pžsíáýd
输出: orcpzsiayd
它不需要包括所有带有重音符号的字母,如俄语字母或中文字母.
我以编程方式将数据(使用PHP 5.2)导出到.csv测试文件中.
示例数据:( Numéro 1注意重音e).数据是utf-8(没有前置BOM).
当我在MS Excel中打开此文件时显示为Numéro 1.
我可以在文本编辑器(UltraEdit)中打开它,正确显示它.UE报告角色是decimal 233.
如何在.csv文件中导出文本数据以便MS Excel正确呈现它,最好不强制使用导入向导或非默认向导设置?
问题是,如你所知,Unicode图表中有数千个字符,我想将所有相似的字符转换为英文字母中的字母.
例如,这里有一些转换:
?->H
?->V
?->Y
?->O
?->C
t?? ?????y --> the Family
...
Run Code Online (Sandbox Code Playgroud)
我看到有超过20个版本的字母A/a.而且我不知道如何对它们进行分类.它们看起来像大海捞针.
完整的unicode字符列表位于http://www.ssec.wisc.edu/~tomw/java/unicode.html 或http://unicode.org/charts/charindex.html.只需向下滚动即可看到字母的变化.
如何用Java转换所有这些?请帮我 :(
我在看的算法,可以用变音符号(字符之间映射波浪,抑扬,插入符号,变音符号,卡隆)和他们的"简单"的角色.
例如:
? ? ? ñ ? ? ? ? ? ? ? ? ? ? ? --> n
á --> a
ä --> a
? --> a
? --> o
Run Code Online (Sandbox Code Playgroud)
等等.
我想用Java做这个,虽然我怀疑它应该是Unicode-y,并且应该可以在任何语言中合理地使用.
目的:允许轻松搜索带有变音符号的单词.例如,如果我有一个网球运动员数据库,并且输入了Björn_Borg,我还会保留Bjorn_Borg,这样如果有人进入Bjorn而不是Björn,我就能找到它.
尝试使用列表包将源文件包含到我的乳胶文档中,我在代码中的注释中遇到了德语变音符号的问题.运用
\lstset{
extendedchars=\true,
inputencoding=utf8x
}
Run Code Online (Sandbox Code Playgroud)
处理源文件中的变音符号(以无BOM的UTF-8编码),但它们以某种方式移动到它们所包含的单词的开头.所以
// die Größe muss berücksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输入源文件中,变为
// die ößGre muss übercksichtigt werden
Run Code Online (Sandbox Code Playgroud)
在输出文件中.
注意:因为我在初始设置中发现错误,所以我大量编辑了这个问题
我想改变这句话:
Etçaserasamoitié.
至 :
Et ca sera sa moitie.
有没有一种简单的方法在Java中执行此操作,就像我在Objective-C中所做的那样?
NSString *str = @"Et ça sera sa moitié.";
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *newStr = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud) 当用不同于英语的语言创建Web内容时,会出现搜索引擎优化和用户友好URL的问题.
我想知道在URL中使用去重音字母是否是最好的做法 - 冒着某些词语在有和没有某些口音的情况下有完全不同的含义 - 或者最好坚持使用非英语字符适当牺牲不太高级环境中这些URL的可读性(例如MSIE,查看源代码).
"异国情调"字母可以出现在任何地方:文档标题,标签,用户名等,因此它们并不总是受到网站维护者的全面监督.
当然,一种可能的方法是设置备用 - 非重音 - URL,这些URL指向原始目标,但我想了解您对使用重音URL作为主要文档标识符的看法.
diacritics ×10
unicode ×5
java ×4
string ×3
encoding ×2
.net ×1
csv ×1
excel ×1
friendly-url ×1
javascript ×1
latex ×1
listings ×1
python ×1
python-2.x ×1
python-3.x ×1
utf-8 ×1