我有一个UITextField
,假设这个文本框中有 5 个字符,例如你好。
现在我想把这个词分成单个字符,即'h','e','l','l','o';
那么我该如何执行这种操作。
任何帮助将不胜感激。
我有一个UITextField
,假设这个文本框中有 5 个字符,例如你好。
现在我想把这个词分成单个字符,即'h','e','l','l','o';
那么我该如何执行这种操作。
任何帮助将不胜感激。
首先从文本字段中获取字符串值:
NSString *text = myTextField.text;
然后你可以迭代每个字符:
NSUInteger len = [text length];
for (NSUInteger i = 0; i < len; i++)
{
unichar c = [text characterAtIndex:i];
// Do something with 'c'
}
只需使用 NSString 方法 UTF8String
const char *str = [textField.text UTF8String];
然后你有一个 UTF8 字符数组
注意:确保您对 UTF8 编码感到满意,即没有非标准字符
我认为使用 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);
}