如何在字符串后添加空格
Posted
技术标签:
【中文标题】如何在字符串后添加空格【英文标题】:How do I add spaces after a string 【发布时间】:2014-09-06 08:13:15 【问题描述】:我想在目标 c 中的字符串后添加空格......所以我可以执行一些填充。
我已经查看了这个问题的方法 - How can I add leading whitespace in front of the NSString?
但它似乎只适用于 NSString 前面的空格。
编辑:这些似乎不起作用,这里有一些信息。
我在 - (void)tableView: (UITableView*)tableView willDisplayCell: (UITableViewCell*)cell forRowAtIndexPath: (NSIndexPath*)indexPath
内执行此操作 - 我在文本右侧也显示了图像。但是我的文字太接近图像了。我知道我可以创建一个 UITextView 来处理这个问题,但这会导致其他问题。因此,文本末尾的空格是最简单的解决方案……但这似乎不适用于单元格。
【问题讨论】:
it only seems to work for spaces in front
那是因为那是那个用户问的。您看不到如何编辑该方法?
嗨詹姆斯,阅读我更新的帖子。
我认为您宁愿重新定位图像或标签视图,而不是在其中修改一些空间。
你应该做的是使用约束而不是破解空间。如果您开始实施动态字体或自适应布局,您的问题将会放大。切换到自动布局
不要使用空格来布局 UI。它会破裂。 RTL 语言会发生什么?!这太愚蠢了。只需正确放置标签即可。
【参考方案1】:
您可以快速调整您找到的answer 以获得您想要的答案。
#import <Foundation/Foundation.h>
#include <stdlib.h>
int main()
int maxLength = 5;
NSString *text = @"xml";
NSLog(@"Text:\"%@\"", text);
NSString *result = [text stringByPaddingToLength:MAX(maxLength, text.length)
withString:@" " startingAtIndex:0];
NSLog(@"Result:\"%@\"", result);
return 0;
我创建了一个 SSCCE 并添加了日志以表明此方法有效。
2014-09-07 16:25:06.713 a.out[29685:507] Text:"xml"
2014-09-07 16:25:06.714 a.out[29685:507] Result:"xml "
【讨论】:
这是,IMO,最优雅的解决方案。【参考方案2】:另一个简单的技巧
NSString *yourString = @"Objective-c is easy";
NSString *spaceString = @" ";
NSString *finalString = [NSString stringWithFormat:@"%@%@",yourString,spaceString];
【讨论】:
由于某种原因,这在 ios 10 中不再有效,非常奇怪。【参考方案3】:检查一下:
int maxLength = 5;
NSString *text = @"abc";
if (text.length < maxLength)
text = [text stringByPaddingToLength:maxLength withString:@" " startingAtIndex:0];
// result: @"abc "
【讨论】:
【参考方案4】:试试这个:
YourString = [YourString stringByAppendingString:@" "];
【讨论】:
【参考方案5】:在 Swift 5 中只需添加 padding,见示例。
let string = "Demo"
let paddingStr = string.padding(toLength: 10, withPad: " ", startingAt: 0)
print(paddingStr)
//result:- "Demo "
【讨论】:
以上是关于如何在字符串后添加空格的主要内容,如果未能解决你的问题,请参考以下文章