如何在字符串后添加空格

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     " 

【讨论】:

以上是关于如何在字符串后添加空格的主要内容,如果未能解决你的问题,请参考以下文章

Oracle db:如何在字符串的特定位置添加空格

如何在空格后获取子字符串?

如何在 UITextField 占位符字符之间添加空格?

如何使用 stringbuilder 添加所有其他字符并在空格处重新启动?

如何在 xslt 中添加空格并将记录限制为 300 个字符

如何使用 sprintf 函数在字符中添加前导“0”而不是空格?