Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“管理”;“错误”;在string.toLowerCase()中使用特殊字符,如Ñ&引用;或É&引用;_String_Special Characters_Translate_String Matching - Fatal编程技术网

“管理”;“错误”;在string.toLowerCase()中使用特殊字符,如Ñ&引用;或É&引用;

“管理”;“错误”;在string.toLowerCase()中使用特殊字符,如Ñ&引用;或É&引用;,string,special-characters,translate,string-matching,String,Special Characters,Translate,String Matching,我想用Java做一个翻译 我用二叉树管理字典,但当我试图翻译字典,如英语、西班牙语或西班牙语时,像“西班牙语”这样的单词会翻译成“西班牙语”。我的问题是我必须做一个不区分大小写的翻译。 为此,我选择string.toLowerCase()方法,但它会删除特殊字符,如“ñ”、“ñ”或重音词,如“é”。我以后会像这样比较字符串 str.toLowerCase(new Locale("es", "ES")).equals(dictionaryword.toLowerCase(new Locale("e

我想用Java做一个翻译 我用二叉树管理字典,但当我试图翻译字典,如英语、西班牙语或西班牙语时,像“西班牙语”这样的单词会翻译成“西班牙语”。我的问题是我必须做一个不区分大小写的翻译。 为此,我选择string.toLowerCase()方法,但它会删除特殊字符,如“ñ”、“ñ”或重音词,如“é”。我以后会像这样比较字符串

str.toLowerCase(new Locale("es", "ES")).equals(dictionaryword.toLowerCase(new Locale("es", "ES")
例如,如果

str = Español;
dictionaryword = español;
我的问题是,是否有人知道如何管理这个“错误”,或者我是否做错了什么。 还有,我不知道我是否应该试试

str.equalsIgnoreCase(dictionaryword)

如果您的
toLowerCase(Locale)
函数不起作用,我会认真建议您自己实现它。因为我们谈论的是西班牙语,所以只有几个特殊字符需要注意。

看看RegexReplace和StringReplace

str = Regex.Replace(str, "Ñ", "ñ");
str = Regex.Replace(str, "[A-Z]", "[a-z]");

问题是它应该适用于任何语言,而不仅仅是西班牙语。但是谢谢,我会记住的。