Re: Substring look-up

Olivier Boudeville <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <[email protected]>
Hello Craig,

Thanks for your answer and for the regex-based solution.

Regarding unicode:characters_to_list/1, my understanding is that it 
would mean operating on codepoints rather than on grapheme clusters, and 
I suppose that this *may* result in unintended matches if searching for 
clusters, i.e. "user-perceived characters" (often the ones that 
matter/make sense?).

For example, if grapheme clusters such as GC1=[A,B], GC2=[C,D] and 
GC3=[B,C] existed (where the A, B, C and D variables are codepoints), 
then searching for a substring that would contain only the GC3 cluster 
in a flattened string containing GC1 then GC2 (i.e. [A,B,C,D]) would 
match, whereas it should not (unless such a case is known to be 
impossible by design?).

(disclaimer: I am not pretending I understand Unicode correctly, just 
needing to cope with various input filenames - not even mentioning the 
so-called "raw" ones ;-))

Best regards,

Olivier.



Le 4/7/21 à 12:42 PM, zxq9 a écrit :
> On 2021/04/07 19:37, Olivier Boudeville wrote:
>> Hello Dan,
>>
>> Thanks for your answer; indeed rewriting most uses of string:rstr/2 
>> in terms of string:split/3 and others should be possible, and each 
>> string traversal must be expensive now.
>
> Sometimes going the neanderthal route is a simplification:
>
> 1. unicode:characters_to_list/1
> 2. write a custom function to iterate as a list the original way
>
> The more complex the original representation and more interesting the 
> sort of work you want done the more this approach tends to save me in 
> both cognitive and processing overhead. My case may be highly 
> optimized for this, though, as I usually deal with English, German and 
> Japanese and rarely any other text input languages -- some input forms 
> for other languages can get pretty interesting and probably don't map 
> as well to the concept of "characters" after conversion.
>
> -Craig


-- 
Olivier Boudeville
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.