Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
987 views
in Technique[技术] by (71.8m points)

iphone - Objective-C: Find consonants in string

I have a string that contains words with consonants and vowels. How can I extract only consonants from the string?

NSString *str = @"consonants.";

Result must be:

cnsnnts
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could make a character set with all the vowels (@"aeiouy")

+ (id)characterSetWithCharactersInString:(NSString *)aString

then use the

- (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set

method.

EDIT: This will only remove vowels at the beginning and end of the string as pointed out in the other post, what you could do instead is use

- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

then stick the components back together. You may also need to include capitalized versions of the vowels in the set, and if you want to also deal with accents (à á è è ê ì etc...) you'll probably have to include that also.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...