我有一个UITextField
,并假设此文本框中有5个字符,例如你好。
现在我想把这个词分成单个字符,即'h','e','l','l','o';
然后我该如何进行这种行动。
任何帮助将不胜感激。
答案 0 :(得分:1)
首先从textfield获取字符串值:
NSString *text = myTextField.text;
然后你可以迭代每个角色:
NSUInteger len = [text length];
for (NSUInteger i = 0; i < len; i++)
{
unichar c = [text characterAtIndex:i];
// Do something with 'c'
}
答案 1 :(得分:0)
只需使用NSString方法UTF8String
const char *str = [textField.text UTF8String];
然后你有一个UTF8字符数组
注意:确保您对UTF8编码感到满意,即没有非标准字符
答案 2 :(得分:0)
我认为使用for循环是一个好主意,但要准确得到你的要求,请使用-getCharacters:range:。这是一个例子:
- (void)testGetCharsInRange
{
NSString *text = @"This is a test string, will it work?";
unichar *chars = calloc([text length], sizeof(unichar));
[text getCharacters:chars range:NSMakeRange(0, [text length])];
STAssertEquals(chars[[text length] - 1], (unichar)'?', nil);
free(chars);
}