Сравнение строк
Сравнение строк — это проверка того, совпадают ли строки посимвольно или какая из них меньше либо больше по принятому порядку символов. Сравнение применяется в условиях, сортировке и задачах обработки текста.
Перед практическим сравнением полезно знать, как обращаться к отдельным символам: это рассматривается в статье перебор строки. В языках программирования обычно используют операции \(==\) (равенство), \(!=\) (неравенство), \(<\), \(>\), \(<=\) и \(>=\). Например, условие a == b истинно только тогда, когда строки a и b полностью совпадают.
Для порядка символам сопоставляются их коды или позиции в выбранном алфавите. Сначала сравниваются первые символы, затем вторые и так далее. После первой разницы остальные символы уже не влияют на результат. Такой способ называют лексикографическим сравнением строк.
Сравним строки кот и код. Первые два символа совпадают: к и о. На третьей позиции т и д различаются, поэтому результат зависит от порядка символов в используемой кодировке: строка с меньшим символом считается меньшей. Строка дом меньше строки домик, потому что полностью совпадает с её началом, но заканчивается раньше.
Равенство строк не означает равенство их ссылок, адресов или способов хранения. Важны именно последовательности символов. Кроме того, А и а обычно считаются разными символами: сравнение чувствительно к регистру, если программа специально не выполняет его игнорирование.
Какой результат сравнения строк лес и лесной при обычном лексикографическом порядке?
Главное
- Равенство строк означает совпадение длины и каждого соответствующего символа.
- При порядке строк решает первая различающаяся позиция; строка-префикс меньшей длины считается меньшей.
- Операции сравнения нужно применять с учётом регистра и правил кодировки языка.