|
|
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Добрый день, какой правильный способ сравнить 2 строки case insansitive ? Надо что бы 'Папа' = 'папа' И что бы 'Папааа'+1ГБ <> 'мамааа'+1ГБ Как использовать IEqualityComparer, и можно ли использовать его тут ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 09:52 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
AnsiCompareText ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 09:56 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
- Luke, use ToLowerInvariant or ToUpperInvariant to compare case insensitive. http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.SysUtils.TStringHelper ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 09:57 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
ShowMessage('TEST'.ToLowerInvariant.Contains('t').ToString(TUseBoolStrs.True)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 09:57 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 09:59 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
JaDi, Меня пугает слово Ansi в юникоде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:01 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
X11, Я знал, что предложат использовать что-то ToLower. Но использовать это нельзя. Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:05 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BЯ знал, что предложат использовать что-то ToLower. Но использовать это нельзя. Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ. Хочешь остановить прогресс? Для чего тогда наращивать гигабайты и гигагерцы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:26 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
wadmanХочешь остановить прогресс? Нет. Я хочу сравнить 2 строки между собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:31 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BJaDi, Меня пугает слово Ansi в юникоде. Зря. Достаточно один раз кликнуть, что бы реализацию посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:35 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
[quot makhaon]Valery_BJaDi, Меня пугает слово Ansi в юникоде. Зря. ANSI на ASCII похоже, вот и страшно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:38 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
27.12.2018 9:52, Valery_B пишет: > Надо что бы > 'Папа' = 'папа' AnsiSameText() Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:45 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BX11, Я знал, что предложат использовать что-то ToLower. Но использовать это нельзя. Сначала ToLower должна перевести 2 строки по 1ГБ текста в нижний регистр, а потом увидит, что различается первый символ. В лоб... переводи посимвольно и сравнивай символы... или чанками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 10:47 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
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 символы сравнивает побайтно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 12:03 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
[quot Фэйтл Эра]makhaonпропущено... Зря. ANSI на ASCII похоже, вот и страшно. ANSI и ASCII соотносятся примерно так же, как канал и канализация :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 13:33 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
[quot makhaon]Фэйтл Эрапропущено... ANSI и ASCII соотносятся примерно так же, как канал и канализация :) как гонорея и гонорар ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 14:14 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
AnsiSameText / AnsiCompareText те еще бомбы замедленного действия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 14:19 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BСначала ToLower должна перевести 2 строки по 1ГБ текстаА вы переводите по 4К ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 15:42 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
asviridenkovAnsiSameText / AnsiCompareText те еще бомбы замедленного действия Если работать с английский/русским текстом будут проблемы когда-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 16:03 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
JaDiasviridenkovAnsiSameText / AnsiCompareText те еще бомбы замедленного действия Если работать с английский/русским текстом будут проблемы когда-нибудь? Зависит от локали в системе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 16:06 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
JaDiЕсли работать с английский/русским текстом будут проблемы когда-нибудь? Если строки юникодовые то не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 16:42 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
27.12.2018 16:06, asviridenkov пишет: > Зависит от локали в системе только если сознательно отказаться от MBCS. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 16:55 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BДобрый день, какой правильный способ сравнить 2 строки case insansitive ? Надо что бы 'Папа' = 'папа' И что бы 'Папааа'+1ГБ <> 'мамааа'+1ГБ Как использовать IEqualityComparer, и можно ли использовать его тут ?Если вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:07 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
rgreatЕсли вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру.Нельзя. Строки могут быть одинаковыми при разной длине. Например: Krijshof и Krijshof ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:24 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_А вы переводите по 4К rgreatЕсли вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру. Вопрос - т.е. сравнение case insensitive я должен писать с нуля? На C# пишется так: Код: c# 1. 2. 3. 4. 5. Результат: equal ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:27 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
white_nigger, А кто нормализацию не делает тот ссзб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:28 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_B_Vasilisk_А вы переводите по 4К rgreatЕсли вопрс упирается в быстродействие - сначала сравни длину строк а потом сравнивай их по частям. По 100*(номер итерации) символов, к примеру. Вопрос - т.е. сравнение case insensitive я должен писать с нуля? На C# пишется так: Код: c# 1. 2. 3. 4. 5. Результат: equal И в Delphi так можно Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:44 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyА кто нормализацию не делает тот ссзб Не всегда нужно. Про NFKD и NFKC вообще не так много кто знает, а AnsiCompareText справиться с большинством ситуаций. Для экзотики уже пусть играются с флагами CompareStringW и CompareStringEx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 17:59 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Kazantsev AlexeyJaDiЕсли работать с английский/русским текстом будут проблемы когда-нибудь? Если строки юникодовые то не будет. Зря так думаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:02 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
asviridenkovЗря так думаешь Давай пример с проблемами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:03 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
X-CiteИ в Delphi так можно Код: pascal 1. 2. 3. 4. Это в итоге вызов CompareString из WinAPI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:09 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
rgreatЭто в итоге вызов CompareString из WinAP AnsiCompare... тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:14 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
rgreatX-CiteИ в Delphi так можно Код: pascal 1. 2. 3. 4. Это в итоге вызов CompareString из WinAPI. В C# это выльется в вызов CompareStringEx из WinApi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 18:20 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 19:12 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Фигня это всё. Вы опечатки отловите, а Чувствительность к регистру символов дело поправимое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 19:38 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Гирлионайльдо InternalCompareStringOrdinalIgnoreCase Это в Mono... Я только что проверил, в консольном приложении на .Net идет вызов CompareStringEx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2018, 20:04 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
X-Cite Код: pascal 1. ок, так у буду делать. Но сравнение с нулём выглядит как-то не понятно. X-CiteВ C# это выльется в вызов CompareStringEx из WinApi Не верное утверждение для .NET Ты не можешь точно знать, что там он в результате сделает, да это и не нужно знать. Это зависит от конкретной связки версии ОС + .NET NET.Core может вызывать другую функцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 09:23 |
|
||
|
Как сравнить 2 строки case insensitive ?
|
|||
|---|---|---|---|
|
#18+
Valery_BX-Cite Код: pascal 1. ок, так у буду делать. Но сравнение с нулём выглядит как-то не понятно. X-CiteВ C# это выльется в вызов CompareStringEx из WinApi Не верное утверждение для .NET Ты не можешь точно знать, что там он в результате сделает, да это и не нужно знать. Это зависит от конкретной связки версии ОС + .NET NET.Core может вызывать другую функцию. .Net Framework 4.5.1 Console Application вызывается CompareStringEx .Net Core 2.2 Вызывает что-то свое, но активно юзает мультибайтовые winapi ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2018, 14:09 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2039960]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
82ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 429ms |

| 0 / 0 |
