很简单,可能会问很多次,但这是一个小技巧。我们知道,NSString不区分hasPrefix的大小写:方法。
NSString *string = @"Xyzabcdedfghij";
NSString *substring = @"xyz";
if ([string hasPrefix:substring])
NSLog(@"string has prefix "); // won't get here.
Question is:
是否有任何内置的方法来解决这个问题?我的意思是,hasPrefix:
区分大小写?
我可以用下面的答案至少一个例子。但是想知道有没有比这个更好的方法...?
- 已知答案:**(租赁案例)
if ([[test substringWithRange:NSMakeRange(0,3)] caseInsensitiveCompare:@"xyz"] == NSOrderedSame) {
// ....
}
8条答案
按热度按时间shstlldc1#
从Apple自身:
这可以 Package 成一个易于使用的方法:
nfs0ujit2#
你总是可以在两个字符串上使用
lowercaseString
,这样就强制相同的大小写。wrrgggsh3#
最糟糕的做法是将字符串和都小写,而不是使用hasPrefix。
qzwqbdag4#
雨燕5:
用法:
wtlkbnrh5#
你可以通过
aurhwmvo6#
Swift 4.2版本的已接受答案:
或者,使用
.lowercased()
该扩展将按如下方式使用
a0x5cqrl7#
对于那些喜欢函数式一行程序的人(像我一样):
o4tp2gmn8#
雨燕5
用途: