我有一个我希望根据attr字符串类型字段排序的对象列表.我试过用-
list.sort(function (a, b) {
return a.attr - b.attr
})
Run Code Online (Sandbox Code Playgroud)
但发现-在JavaScript 中似乎不适用于字符串.如何根据类型字符串的属性对对象列表进行排序?
对于一个穷人在客户端实现近似校正正确的排序,我需要一个JavaScript函数来在字符串中进行有效的单个字符替换.
这就是我的意思(请注意,这适用于德语文本,其他语言的排序方式不同):
native sorting gets it wrong: a b c o u z ä ö ü collation-correct would be: a ä b c o ö u ü z
基本上,我需要将所有出现的给定字符串的"ä"替换为"a"(依此类推).这样,本机排序的结果将非常接近用户期望的结果(或数据库将返回的内容).
其他语言有这样的设施:Python提供str.translate(),在Perl中tr/…/…/,XPath有一个函数translate(),ColdFusion有ReplaceList().但是JavaScript呢?
这就是我现在所拥有的.
// s would be a rather short string (something like
// 200 characters at max, most of the time much less)
function makeSortString(s) {
var translate = {
"ä": "a", "ö": "o", "ü": …Run Code Online (Sandbox Code Playgroud) 我在看的算法,可以用变音符号(字符之间映射波浪,抑扬,插入符号,变音符号,卡隆)和他们的"简单"的角色.
例如:
? ? ? ñ ? ? ? ? ? ? ? ? ? ? ? --> n
á --> a
ä --> a
? --> a
? --> o
Run Code Online (Sandbox Code Playgroud)
等等.
我想用Java做这个,虽然我怀疑它应该是Unicode-y,并且应该可以在任何语言中合理地使用.
目的:允许轻松搜索带有变音符号的单词.例如,如果我有一个网球运动员数据库,并且输入了Björn_Borg,我还会保留Bjorn_Borg,这样如果有人进入Bjorn而不是Björn,我就能找到它.
我在Javascript字符串中提取一个字符:
var first = str.charAt(0);
Run Code Online (Sandbox Code Playgroud)
我想检查一下是否是一封信.奇怪的是,Javascript中似乎不存在这样的功能.至少我找不到它.
我该怎么测试呢?
这是我今天遇到的一个有趣的片段:
/\ba/.test("a") --> true
/\bà/.test("à") --> false
Run Code Online (Sandbox Code Playgroud)
然而,
/à/.test("à") --> true
Run Code Online (Sandbox Code Playgroud)
首先,wtf?
其次,如果我想在单词的开头匹配重音字符,我该怎么做?(我真的很想避免使用过顶选择器/(?:^|\s|'|\(\) ....)
我需要将姓氏列表转换为字母数字用户名,但不幸的是其中一些包含非ascii字符:
Hernández
Quermançós
Migueláñez
Run Code Online (Sandbox Code Playgroud)
现在,一种方法就是使用正则表达式删除任何非字母数字字符,例如a.replace(/[^a-z0-9]/gi,'').然而,一个更直观的解决方案(至少对于用户来说)将用他们的"普通"等效替换重音字符,例如转á,á进a和ç进c等等.有没有一种简单的方法在javascript中执行此操作?
我想匹配一个字符串,以确保它只包含字母.
我有这个,它工作得很好:
var onlyLetters = /^[a-zA-Z]*$/.test(myString);
Run Code Online (Sandbox Code Playgroud)
但
由于我也说另一种语言,我需要允许所有字母,而不仅仅是AZ.还有例如:
é ü ö ê å ø
Run Code Online (Sandbox Code Playgroud)
有没有人知道是否有一个全球'alpha'术语,包括与regExp一起使用的所有字母?或者甚至更好,有没有人有某种解决方案?
非常感谢
编辑: 刚才意识到你可能也想允许' - '和''加上一个双重名字,如:'Mary-Ann'或'Mary Ann'
我正在使用基于AJAX的查找来查找用户在文本框中搜索的名称.
我假设数据库中的所有名称都将被音译为欧洲字母表(即没有西里尔语,日语,中文).但是,名称仍将包含重音字符,例如ç,ê甚至č和ć.
像"Micic"这样的简单搜索与"Mičić"不匹配 - 而且用户的期望是它会.
AJAX查找使用正则表达式来确定匹配.我已使用此函数修改了正则表达式比较,以尝试匹配更多重音字符.但是,它有点笨拙,因为它没有考虑到所有角色.
function makeComp (input)
{
input = input.toLowerCase ();
var output = '';
for (var i = 0; i < input.length; i ++)
{
if (input.charAt (i) == 'a')
output = output + '[aàáâãäåæ]'
else if (input.charAt (i) == 'c')
output = output + '[cç]';
else if (input.charAt (i) == 'e')
output = output + '[eèéêëæ]';
else if (input.charAt (i) == 'i')
output = output + '[iìíîï]';
else if (input.charAt (i) == 'n')
output = …Run Code Online (Sandbox Code Playgroud) 如何使用Go删除给定UTF8编码字符串中的所有变音符号?例如,变换string "ž?žo"=> "zuzo".有标准的方法吗?