我在这里看到了有关如何使用实际的NSString方法删除所有空格和换行符的其他问题,但那些会影响字符串的开头,这是我不想要的。
让我们假设我的用户在我的UITextView中输入以下字符串:H E Y \ n \ n
在字母Y之后有两个空格,后跟一个换行符,另外两个空格,最后是上面例子中的另一个换行符。
我希望从UITextView的字符串中删除字母Y之后的所有内容。
我很感激任何帮助我解决这个问题的建议。
- (void)textViewDidEndEditing:(UITextView *)textView
{
textView.text = [self removeCrapFrom:textView.text];
}
- (NSString *)removeCrapFrom:(NSString *)string
{
NSUInteger location = 0;
unichar charBuffer[[string length]];
[string getCharacters:charBuffer];
int i = 0;
for (i = [string length]; i >0; i--)
{
if (![[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:charBuffer[i - 1]])
{
break;
}
}
return [string substringWithRange:NSMakeRange(location, i - location)];
}
答案 0 :(得分:-6)
您可以使用:
NSString *newString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
我在Xcode中测试过:
UITextView *textView = [[UITextView alloc] init];
textView.text = @"H E Y \n \n";
textView.text = [textView.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(@"textView.text = [%@]",textView.text);
结果是:
textView.text = [H E Y]