• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Problem with rangeOfString and Umlauts
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Problem with rangeOfString and Umlauts


  • Subject: Re: Problem with rangeOfString and Umlauts
  • From: Keary Suska via Cocoa-dev <email@hidden>
  • Date: Fri, 11 Mar 2022 13:48:48 -1000

NSRange is 0-based, so the 16th character is index 15. Also you might want to
use -localizedStandardRangeOfString: instead...

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business”



> On Mar 11, 2022, at 9:10 AM, Jack Brindle via Cocoa-dev
> <email@hidden> wrote:
>
> 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

_______________________________________________

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

References: 
 >Problem with rangeOfString and Umlauts (From: Gabriel Zachmann via Cocoa-dev <email@hidden>)
 >Re: Problem with rangeOfString and Umlauts (From: Jack Brindle via Cocoa-dev <email@hidden>)

  • Prev by Date: Re: Problem with rangeOfString and Umlauts
  • Next by Date: Re: Problem with rangeOfString and Umlauts
  • Previous by thread: Re: Problem with rangeOfString and Umlauts
  • Next by thread: Re: Problem with rangeOfString and Umlauts
  • Index(es):
    • Date
    • Thread