所以我有一个概念验证共轭实践应用程序,我正在用Vue.js构建。其中一个关键因素是,当您键入共轭的答案时,它会将输入文本与String.startswih()
进行比较。这非常好,直到字符串具有unicode字符。似乎您输入的unicode字符几乎总是与数据库中的字符不同。在这个节点CLI示例中,您实际上可以直观地看到,我在“ț”字符中键入的版本与数据库“ţ”中的版本完全不同。
下面是键入的输入的输出,它的值和unicode值与比较:
input: anunț // anun\u21B
comparison: anunţ // anun\u163
我尝试过. noralize()
之类的东西,但它似乎不会影响输入的字符串或比较字符串。
> var input = 'anunț'
> var comparison = 'anunţ'
> input === comparison
false
> input.normalize() === comparison
false
> input.normalize() === comparison.normalize()
false
> input === comparison.normalize()
false
/// etc etc with NFC, NFD, NFKC, NFKD forms
> input.normalize()
'anunț'
> comparison.normalize()
'anunţ'
// i've also tried .normalize() with the string decoded into unicode
我尝试过转换为unicode并手动替换一组字符串,但它只能做到这一步,并带来了它自己的一系列问题,包括有时当您键入答案时,它会开始出现问题,直到输入整个字符串。
最后,我开始尝试正则表达式比较,但我认为这也可能是另一个兔子洞干扰。
在没有上述任何尝试的情况下,将其归结为最基本的逻辑,这是我尝试做的关键,对于上下文而言:
if (this.conjugation.startsWith(this.input)) {
this.status = "correct";
} else {
this.status = "incorrect";
}
if (conjugation === val) {
// okay, we are done
}
有什么办法可以解决这个问题吗?我目前正在用罗马尼亚语动词对此进行测试,因此字符似乎在以下unicode范围内:
-\u007F
,-\u024F
,阿胶-\u017F
这两个角色非常相似,但它们是截然不同的。一个在t和下逗号标记之间有空格,就像符号的一部分一样。
您可以使用< code>Intl。Collator构造一个只关心某些差异的Collator:
var word1 = "anunț"; // anun\u21B
var word2 = "anunţ"; // anun\u163
var collator = new Intl.Collator("ro", { sensitivity: "base" });
console.log(word1 === word2); // the words are not equal
console.log(collator.compare(word1, word2) == 0); // ... but they are "equal enough"
问题内容: 我从HTML页面中将一个字符串输入到Java HTTPServlet中。根据我的要求,我得到了显示汉字的ASCII码: “&#21487;&#20197;&#21578;&#35785;&#25105;” (无空格) 如何将该字符串转换为Unicode? HTML代码: Java代码: 如果我打印问题[0],则会得到以下值:“&#21487;&#20197;&#21578;&#3578
问题内容: 如何将Unicode字符串(包含额外的字符,如£$等)转换为Python字符串? 问题答案:
题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短。请问,如何最快地判断字符串B中所有字母是否都在字符串A里? 为了简单起见,我们规定输入的字符串只包含大写英文字母,请实现函数bool StringContains(string &A, string &B) 比如,如果是下面两个字符串: String 1:ABCD String 2:BAD 答案是true,即Stri
我在Mako模板中有以下代码: 这将url转义应用于表示公司的对象的名称字符串。然后在URL中使用得到的转义字符串。Mako文档说明使用提供url编码。 在服务器上,我将公司名称部分接收到参数中: 然后使用investment_name作为键返回到模板中提取它的字典中。 这对于公司名称中的所有标准大小写(如空格、斜杠和单引号)都很适用。但是,如果公司名称包含ascii字符集之外的unicode字符
两行的一个例子是:([a,b,c],d)和([d,e],a)我想把这些行转换成([a,b,c],[d,e])和([d,e],[a,b,c]) dataframe的列名是“src”和“dst”。 我如何处理这个问题?
问题内容: 我遇到了三个UTF-8刺痛: 我只想要前10个ascii-char-width,这样一栏中的括号即可: 在控制台中: 一个中文字符是三个字节,但是在控制台中显示时,它只有2个ascii字符宽度: 当UTF-8字符混入时,python并没有帮助 这不是很漂亮: -----------Songs----------- |1: Butterfly| |2: city of heart| |3