草庐IT

西里尔

全部标签

ruby-on-rails - 西里尔字符串 Я̆ Я̄ Я̈ 在 ruby​​ 和其他编程语言中返回长度 2 而不是 1

在Ruby、Javascript和Java(其他我没试过)中,有西里尔字符Я̆Я̄Я̈长度2。当我尝试用这些字符检查字符串的长度时,我得到了错误的输出值。"Я̈".mb_chars.length#=>2#shouldbe1(rubyonrails)"Я̆".length#=>2#shouldbe1(ruby,javascript)"Ӭ".length#=>1#correct(ruby,javascript)请注意,字符串以UTF-8编码,每个字符都表现为单个字符。我的问题是为什么会有这样的行为,我怎样才能正确地得到带有这些字符的字符串的长度? 最佳答案

javascript - 使用西里尔文(俄语)集的 javascript 中的正则表达式

是否可以在javascript的正则表达式中使用俄语字符?也许使用\p{Cyrillic}?如果是,请提供一个基本的用法示例。例子:varstr1="абвпрвфву";varregexp=newRegExp("[вф]\\b","g");alert(str1.replace(regexp,"X"));我希望得到:абXпрX 最佳答案 这里有一篇关于JavaScriptregularexpressionsandunicode的好文章.JavaScript中的字符串是16位的,因此字符串和RegExp对象可以包含unicode字符

javascript - 字符串替换西里尔文中的完全匹配

我想使用正则表达式将字符串替换为西里尔字符。我想使用完全匹配选项。我的字符串替换使用的是拉丁字符,看起来像这样:'Edin'.replace(/\Edin\b/gi,'');//Outputis""相同的表达式不适用于西里尔字符'Един'.replace(/\Един\b/gi,'');//Outputisstill'Един' 最佳答案 这里的问题是\b字边界字符,它匹配字边界的位置。单词边界定义为(^\w|\w$|\W\w|\w\W)。反过来wordcharacter\w是一组ASCII字符[A-Za-z0-9_]。显然西里尔

javascript - 在 Javascript 字符串中检测俄语/西里尔字母?

我正在尝试检测字符串是否包含俄语(西里尔字母)字符。我正在使用这段代码:term.match(/[\wа-я]+/ig);但它不起作用——或者实际上它只是按原样返回字符串。有人可以帮助编写正确的代码吗?谢谢! 最佳答案 使用模式/[\u0400-\u04FF]/覆盖更多西里尔字符://http://jrgraphix.net/r/Unicode/0400-04FFconstcyrillicPattern=/^[\u0400-\u04FF]+$/;console.log('Привіт:',cyrillicPattern.test('

python - 在 python lxml 库中使用西里尔字母的正确方法是什么

我尝试生成包含西里尔符号的.xml文件。但结果出乎意料。避免这种结果的最简单方法是什么?示例:fromlxmlimportetreeroot=etree.Element('пример')print(etree.tostring(root))我得到的是:b''代替:b'' 最佳答案 etree.tostring()不带附加参数将纯ASCII数据输出为bytes对象。你可以使用etree.tounicode():>>>fromlxmlimportetree>>>root=etree.Element('пример')>>>print(

html - Windows、@font-face 和西里尔文

我遇到了字体和西里尔字符的问题。在OSX上的任何浏览器中显示时,字体会正确呈现,但在Windows7机器(chrome,ie等)上查看时,字体无法呈现。字体已通过FontSquirrel安装,文件附带的演示也失败。字体样式CSS:@font-face{font-family:'open_sansregular';src:url('opensans-regular-webfont.eot');src:url('opensans-regular-webfont.eot?#iefix')format('embedded-opentype'),url('opensans-regular-web

javascript - 如何使正则表达式只匹配西里尔保加利亚字母

您好,我想用空字符串替换拜尔加里字母表中的所有字母我看过这个链接HowtomatchCyrilliccharacterswitharegularexpression但它对我不起作用这是我试过的1.varnewstr=strInput.replace(/[\p{IsCyrillic}]/gi,'');不起作用!2.varnewstr=strInput.replace(/[\p{Letter}]/gi,'');也没什么感谢您的帮助; 最佳答案 Javascript不支持\p{IsCyrillic}形式的Unicode类。但是,假设您要替

javascript - 使用javascript函数将西里尔文音译为拉丁文

我做了这个功能:functiontransliterate(word){varanswer="";A=newArray();A["Ё"]="YO";A["Й"]="I";A["Ц"]="TS";A["У"]="U";A["К"]="K";A["Е"]="E";A["Н"]="N";A["Г"]="G";A["Ш"]="SH";A["Щ"]="SCH";A["З"]="Z";A["Х"]="H";A["Ъ"]="'";A["ё"]="yo";A["й"]="i";A["ц"]="ts";A["у"]="u";A["к"]="k";A["е"]="e";A["н"]="n";A["г"]=

javascript - 为 url 编码西里尔字母的最快方法

如果您将下面的链接复制到浏览器中http://be.wikipedia.org/wiki/Беларусь它将显示Wiki文章。但是一旦您想将该链接(或包含西里尔符号的任何其他链接)从浏览器url复制到记事本中,您将得到如下内容:http://be.wikipedia.org/wiki/%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C您可以单击维基百科中文本中包含西里尔字母的任何链接,然后尝试将其复制到记事本中。所以,我的问题是:将任何包含西里尔文字Беларусь的文本转换为%D0%91%D0%B5%D0%BB%D0%B0%D1%80的

php - 检查 php 字符串是否为字母数字,包括西里尔字符?

我在网上找到了很多不同的模式(全部测试过),我还在页面上添加了编码,但没有任何接缝可以工作。这是我的代码:这是我试过的//$pattern="/^[\p{L}\p{M}\a-zA-Z*0-9\s\-]+$/u";//$pattern="/^[p{L}\p{M}\a-zA-Z*0-9\s\-]+$/u"//$pattern='/^[a-zA-Z\p{Cyrillic}\d\s\-]+$/u'//$pattern="/(*UTF8)^[[:alnum:]]+$/"//$pattern="/^[a-zA-Z\p{Cyrillic}\p{Cyrillic}]+$/u"