【问题标题】:More efficient way of stringByReplacingOccurrencesOfString更有效的 stringByReplacingOccurrencesOfString 方式
【发布时间】:2013-07-31 07:48:45
【问题描述】:

有没有更有效的方法来去除一串不受欢迎的短语,在这种情况下是图像扩展?我知道可以使用此处使用的 NSCharacterSet:Replace multiple characters in a string in Objective-C? 但对于整个短语

    NSString *title = [imagePath lastPathComponent];
    title = [title stringByReplacingOccurrencesOfString:@".JPG" withString:@""];
    title = [title stringByReplacingOccurrencesOfString:@".JPEG" withString:@""];
    title = [title stringByReplacingOccurrencesOfString:@".PNG" withString:@""];
    title = [title stringByReplacingOccurrencesOfString:@".jpg" withString:@""];
    title = [title stringByReplacingOccurrencesOfString:@".jpeg" withString:@""];
    title = [title stringByReplacingOccurrencesOfString:@".png" withString:@""];

【问题讨论】:

    标签: objective-c replace nsstring


    【解决方案1】:

    NSString 中有一个方法叫-stringByDeletingPathExtension,可以用来删除扩展,如下:

    NSString *title = [imagePath lastPathComponent];
    NSString *titleMinusExtension = [title stringByDeletingPathExtension];
    

    【讨论】:

      【解决方案2】:

      假设您总是有一些给定的图像文件名,有些用户无法在文本框中输入任何内容,我会简单地使用文件名并始终删除最后一个 . 以及后面的所有内容。

      简而言之(没有代码,因为我不知道 Objective C,你应该将其添加为标签):

      • 在字符串中找到最后一个.
      • 从找到的位置开始剥离所有内容。

      这样你应该总是得到一个干净的文件名,你不必进行多次查找,也不必担心修改文件名的其他部分(假设还有另一个 @987654323 @那里的某个地方)。

      【讨论】:

        猜你喜欢
        • 2012-07-28
        • 1970-01-01
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 2011-10-31
        • 2019-03-25
        相关资源
        最近更新 更多