如何从 NSMutableAttributedString 中删除 \t?
How to remove \t from NSMutableAttributedString?
我有 NSMutableAttributedString,其字符串包含制表符。我想删除它
示例 NSstring
Hello text
• Text1
• Text2
• Text3
我尝试了下面的代码,但它没有按预期工作。
NSMutableAttributedString *displayText;
NSCharacterSet *charSet = [NSCharacterSet whitespaceCharacterSet];
NSRange range = [displayText.string rangeOfCharacterFromSet:charSet];
while (range.length != 0 && NSMaxRange(range) == displayText.length)
{
[displayText replaceCharactersInRange:range withString:@""];
range = [displayText.string rangeOfCharacterFromSet:charSet];
}
// Trim trailing whitespace and newlines.
range = [displayText.string rangeOfCharacterFromSet:charSet options:NSBackwardsSearch];
while (range.length != 0 && NSMaxRange(range) == displayText.length)
{
[displayText replaceCharactersInRange:range withString:EMPTY_STRING];
range = [displayText.string rangeOfCharacterFromSet:charSet options:NSBackwardsSearch];
}
我得到的输出是
Hellotext
•Text1
•Text2
•Text3
实际输出应该是这样的
Hello text
• Text1
• Text2
• Text3
有人可以帮我解决这个问题吗?
提前致谢。
+whitespaceCharacterSet
包括空格和制表符。如果您只想匹配标签,请创建一个自定义集:
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"\t"];
要使用只有 tab
个字符的字符集,您可以使用:
NSMutableCharacterSet *charSet = [NSMutableCharacterSet whitespaceCharacterSet];
[charSet removeCharactersInString:@" "];
我有 NSMutableAttributedString,其字符串包含制表符。我想删除它
示例 NSstring
Hello text
• Text1
• Text2
• Text3
我尝试了下面的代码,但它没有按预期工作。
NSMutableAttributedString *displayText;
NSCharacterSet *charSet = [NSCharacterSet whitespaceCharacterSet];
NSRange range = [displayText.string rangeOfCharacterFromSet:charSet];
while (range.length != 0 && NSMaxRange(range) == displayText.length)
{
[displayText replaceCharactersInRange:range withString:@""];
range = [displayText.string rangeOfCharacterFromSet:charSet];
}
// Trim trailing whitespace and newlines.
range = [displayText.string rangeOfCharacterFromSet:charSet options:NSBackwardsSearch];
while (range.length != 0 && NSMaxRange(range) == displayText.length)
{
[displayText replaceCharactersInRange:range withString:EMPTY_STRING];
range = [displayText.string rangeOfCharacterFromSet:charSet options:NSBackwardsSearch];
}
我得到的输出是
Hellotext
•Text1
•Text2
•Text3
实际输出应该是这样的
Hello text
• Text1
• Text2
• Text3
有人可以帮我解决这个问题吗? 提前致谢。
+whitespaceCharacterSet
包括空格和制表符。如果您只想匹配标签,请创建一个自定义集:
NSCharacterSet *charSet = [NSCharacterSet characterSetWithCharactersInString:@"\t"];
要使用只有 tab
个字符的字符集,您可以使用:
NSMutableCharacterSet *charSet = [NSMutableCharacterSet whitespaceCharacterSet];
[charSet removeCharactersInString:@" "];