Replacing tango.text.Ascii.isearch

bauss jacobbauss at gmail.com
Thu Oct 13 08:27:17 UTC 2022


On Wednesday, 5 October 2022 at 17:29:25 UTC, Steven 
Schveighoffer wrote:
> On 10/5/22 12:59 PM, torhu wrote:
>> I need a case-insensitive check to see if a string contains 
>> another string for a "quick filter" feature. It should 
>> preferrably be perceived as instant by the user, and needs to 
>> check a few thousand strings in typical cases. Is a regex the 
>> best option, or what would you suggest?
>
> https://dlang.org/phobos/std_uni.html#asLowerCase
>
> ```d
> bool isearch(S1, S2)(S1 haystack, S2 needle)
> {
>     import std.uni;
>     import std.algorithm;
>     return haystack.asLowerCase.canFind(needle.asLowerCase);
> }
> ```
>
> untested.
>
> -Steve

This doesn't actually work properly in all languages. It will 
probably work in most, but it's not entirely correct.

Ex. Turkish will not work with it properly.

Very interesting article: 
http://www.moserware.com/2008/02/does-your-code-pass-turkey-test.html


More information about the Digitalmars-d-learn mailing list