Можно использовать ECMAScript 6's String.prototype.startsWith()
метод, но это еще не поддерживается во всех браузерах . Вы захотите использовать контейнер/полизаливку для добавления его на браузерах, которые не поддерживают его. При создании реализации, которая выполняет , являются немного сложными все подробности, размеченные в спецификации . Если Вы хотите верный контейнер, используйте также:
String.prototype.startsWith
контейнер , или String.prototype.startsWith
. , Как только Вы шиммировали метод (или если Вы только поддерживаете браузеры и механизмы JavaScript, которые уже имеют его), можно использовать его как это:
"Hello World!".startsWith("He"); // true
var haystack = "Hello world";
var prefix = 'orl';
haystack.startsWith(prefix); // false
Until recently, Unicode didn't define an uppercase version of s-sharp. I'm not sure whether the latest Java 7 version does already include this new character and whether it handles it correctly. I suggest to give it a try.
The reason why str.toLowerCase()
doesn't return the same as str.toUpperCase().toLowerCase()
is that Java replaces ß
with SS
but there is no way to go back, so SS
becomes ss
and the compare fails.
So if you need to level the case, you must use str.toLowerCase()
. If not, then simply calling equalsIgnoreCase()
without any upper/lower conversion should work, too.
Он есть у Аарона Дигуллы . Кроме того, не имеет смысла преобразовывать строку при отсутствии данных локали. В английском верхнем регистре i будет I , а в турецком - İ . String.compareIgnoreCase не принимает во внимание данные языкового стандарта.
(Кроме того, вы можете захотеть изучить нормализацию , или вы в конечном итоге задаетесь вопросом, почему «é» .equals («é») может возвращать false. Причина: одна - это объединяющая последовательность .)
Unicode не определяет версию s-sharp в верхнем регистре в этом и суть - в немецком языке нет возможности, чтобы диез (ß) было заглавной или первой буквой любого слова. поэтому это просто бессмысленный спор о заглавной ß ...
Hm. I don't know anything about the German language, but I'm not sure how I feel about Unicode characters being treated as equivalent to some Roman-letter expansion. Should you be able to do the following?
myDictionary.put("glasses", new Bifocals());
myDictionary.get("glaßes");
If you have your druthers, myDictionary.get("glaßes")
should return something the Bifocals
from before. Is that legit?