0

我有一个UITextField,假设这个文本框中有 5 个字符,例如你好。

现在我想把这个词分成单个字符,即'h','e','l','l','o';

那么我该如何执行这种操作。

任何帮助将不胜感激。

4

3 回答 3

1

首先从文本字段中获取字符串值:

NSString *text = myTextField.text;

然后你可以迭代每个字符:

NSUInteger len = [text length];
for (NSUInteger i = 0; i < len; i++)
{
    unichar c = [text characterAtIndex:i];
    // Do something with 'c'
}
于 2012-05-11T13:40:59.883 回答
0

只需使用 NSString 方法 UTF8String

const char *str = [textField.text UTF8String];

然后你有一个 UTF8 字符数组

注意:确保您对 UTF8 编码感到满意,即没有非标准字符

于 2012-05-11T13:37:05.307 回答
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);
}
于 2012-05-11T13:53:07.297 回答