Re: Problem with rangeOfString and Umlauts
Re: Problem with rangeOfString and Umlauts
- Subject: Re: Problem with rangeOfString and Umlauts
- From: Jack Brindle via Cocoa-dev <email@hidden>
- Date: Fri, 11 Mar 2022 13:10:33 -0600
I just placed your code into a short tool in Xcode. What I get is interesting:
prefix_len unsigned int 15
Which his as you say. But:
space_in_filename NSRange location=15, length=1
Which is not the same as you say. This is in Xcode 13.2.1. Is something else
going on?
For the record, the body of main contains:
@autoreleasepool {
NSString *file_basename = @"Morgendämmerung (1)";
NSString *info_item = @"Morgendämmerung";
NSString * prefix = [info_item commonPrefixWithString:
file_basename options: NSCaseInsensitiveSearch ];
unsigned int prefix_len = (unsigned int) [prefix length];
NSRange space_in_filename = [file_basename rangeOfString: @" "
options:
NSDiacriticInsensitiveSearch|NSCaseInsensitiveSearch|NSWidthInsensitiveSearch];
NSLog(@"Break heere");
}
So what is different?
Jack
> On Mar 11, 2022, at 11:17 AM, Gabriel Zachmann via Cocoa-dev
> <email@hidden> wrote:
>
>
> Well, SSIA.
> In more detail, I've got two strings:
>
> file_basename = @"Morgendämmerung (1)"
> info_item = @"Morgendämmerung"
>
> This code
>
> NSString * prefix = [ info_item commonPrefixWithString: file_basename
> options: NSCaseInsensitiveSearch ];
> unsigned int prefix_len = (unsigned int) [prefix length];
>
> yields prefix_len = 15
> as it should.
>
> The problem arises with this line of code:
>
> NSRange space_in_filename = [file_basename rangeOfString: @" " options:
> NSDiacriticInsensitiveSearch|NSCaseInsensitiveSearch|NSWidthInsensitiveSearch];
>
> which yields space_in_filename.location = 16 !
>
> This thwarts the rest of the code, which, in this case, would expect
> space_in_filename.location = 15.
>
> Needless to say that with strings that do not contain Umlauts, the call of
> rangeOfString:options: works as expected, i.e., in the above example
> space_in_filename.location is as expected (i.e., first character has
> location=0).
>
> I have also tried localizedStandardRangeOfString, with the same effect.
>
> Any ideas what I can do?
>
>
> Best regards, Gabriel
>
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden