【问题标题】:Trimming a NSString without extending it修剪 NSString 而不扩展它
【发布时间】:2011-05-23 20:27:34
【问题描述】:

我想把一个字符串修剪成50个字符(如果太长的话),所以我决定使用下面的方法。

someString = [someString stringByPaddingToLength: 50 withString: @"" startingAtIndex: 0];

我可以在withString 参数之后传递一个空字符串吗?当该方法尝试添加字符串直到 someString 的长度为 50 个字符时,我不想让我的应用程序崩溃。恐怕这会很糟糕,因为它必须迭代字符串 [someString length] / 0 次。

我应该改用nil 还是寻找其他方式进行修剪?

谢谢。

【问题讨论】:

  • @Jason Boyle:作为一名 Objective-C 和 Cocoa 初学者,我没有足够的经验知道错误在哪里(我目前有 50 个错误之一)。它可以在任何地方。即使我只是为此而开始一个新项目,我可能会犯更多的错误。

标签: objective-c cocoa-touch ios nsstring trim


【解决方案1】:

如果你想修剪一个字符串,我不太清楚你为什么使用stringByPaddingToLength:... 方法。我原以为substringToIndex: NSString 方法会是一个更合乎逻辑的解决方案。

例如:

NSString *testString = @"This is a test string that contains over fifty characters. Exciting, yet true.";

if([testString length] > 50) {
    // The source string is long enough to grab a substring of.
    NSString *truncatedString = [testString substringToIndex:50];
}
else {
    // The source string is already less than fifty characters.
    NSString *truncatedString = [NSString stringWithString:testString];
}

【讨论】:

  • 谢谢。您的解决方案更简单。 :-)
【解决方案2】:

为什么不使用-[NSString substringToIndex:]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多