powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как сравнить 2 строки case insensitive ?
25 сообщений из 38, страница 1 из 2
Как сравнить 2 строки case insensitive ?
    #39753767
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, какой правильный способ сравнить 2 строки case insansitive ?
Надо что бы 'Папа' = 'папа'
И что бы 'Папааа'+1ГБ <> 'мамааа'+1ГБ
Как использовать IEqualityComparer, и можно ли использовать его тут ?
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753769
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnsiCompareText
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753770
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- Luke, use ToLowerInvariant or ToUpperInvariant to compare case insensitive.


http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.TStringHelper
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753771
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShowMessage('TEST'.ToLowerInvariant.Contains('t').ToString(TUseBoolStrs.True));
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753772
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_CompareText@string@string.html]http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_CompareText@string@string.html

CompareText compares S1 and S2 and returns 0 if they are equal. If S1 is greater than S2, CompareText returns an integer greater than 0. If S1 is less than S2, CompareText returns an integer less than 0. CompareText is not case sensitive and is not affected by the current locale.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753777
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDi,

Меня пугает слово Ansi в юникоде.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753779
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

Я знал, что предложат использовать что-то ToLower.
Но использовать это нельзя.
Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753787
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BЯ знал, что предложат использовать что-то ToLower.
Но использовать это нельзя.
Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ.
Хочешь остановить прогресс? Для чего тогда наращивать гигабайты и гигагерцы?
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753790
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanХочешь остановить прогресс?

Нет. Я хочу сравнить 2 строки между собой.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753792
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BJaDi,

Меня пугает слово Ansi в юникоде.

Зря. Достаточно один раз кликнуть, что бы реализацию посмотреть.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753794
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot makhaon]Valery_BJaDi,

Меня пугает слово Ansi в юникоде.

Зря.
ANSI на ASCII похоже, вот и страшно.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753801
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
27.12.2018 9:52, Valery_B пишет:

> Надо что бы
> 'Папа' = 'папа'

AnsiSameText()
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753802
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BX11,

Я знал, что предложат использовать что-то ToLower.
Но использовать это нельзя.
Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ.
В лоб... переводи посимвольно и сравнивай символы... или чанками...
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753833
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11 http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_CompareText@string@string.html]http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/SysUtils_CompareText@string@string.html
CompareText compares S1 and S2 and returns 0 if they are equal. If S1 is greater than S2, CompareText returns an integer greater than 0. If S1 is less than S2, CompareText returns an integer less than 0. CompareText is not case sensitive and is not affected by the current locale.

Только лучше Ansi CompareText(), т.к. простой CompareText() (который без LocaleOptions) не-ascii символы сравнивает побайтно.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753887
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Фэйтл Эра]makhaonпропущено...


Зря.
ANSI на ASCII похоже, вот и страшно.

ANSI и ASCII соотносятся примерно так же, как канал и канализация :)
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753910
Фотография Квейд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot makhaon]Фэйтл Эрапропущено...


ANSI и ASCII соотносятся примерно так же, как канал и канализация :)

как гонорея и гонорар
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753914
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AnsiSameText / AnsiCompareText те еще бомбы замедленного действия
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753985
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BСначала ToLower должна перевести 2 строки по 1ГБ текстаА вы переводите по 4К
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753994
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asviridenkovAnsiSameText / AnsiCompareText те еще бомбы замедленного действия
Если работать с английский/русским текстом будут проблемы когда-нибудь?
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39753997
asviridenkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiasviridenkovAnsiSameText / AnsiCompareText те еще бомбы замедленного действия
Если работать с английский/русским текстом будут проблемы когда-нибудь?

Зависит от локали в системе
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39754021
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JaDiЕсли работать с английский/русским текстом будут проблемы когда-нибудь?
Если строки юникодовые то не будет.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39754032
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
27.12.2018 16:06, asviridenkov пишет:
> Зависит от локали в системе

только если сознательно отказаться от MBCS.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39754044
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_BДобрый день, какой правильный способ сравнить 2 строки case insansitive ?
Надо что бы 'Папа' = 'папа'
И что бы 'Папааа'+1ГБ <> 'мамааа'+1ГБ
Как использовать IEqualityComparer, и можно ли использовать его тут ?Если вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру.
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39754055
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreatЕсли вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру.Нельзя. Строки могут быть одинаковыми при разной длине. Например: Krijshof и Krijshof
...
Рейтинг: 0 / 0
Как сравнить 2 строки case insensitive ?
    #39754059
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_А вы переводите по 4К
rgreatЕсли вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру.
Вопрос - т.е. сравнение case insensitive я должен писать с нуля?

На C# пишется так:
Код: c#
1.
2.
3.
4.
5.
var s = "Всем Привет";
if (s.Equals("всем привет", StringComparison.InvariantCultureIgnoreCase) == true)
    return "equal";
else
    return "not equal";


Результат:
equal
...
Рейтинг: 0 / 0
25 сообщений из 38, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как сравнить 2 строки case insensitive ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]