文档章节

从NSString的末尾修剪空格

 技术盛宴
发布于 02/20 17:59
字数 411
阅读 59
收藏 0

我需要从字符串的末尾删除空格。 我怎样才能做到这一点? 示例:如果string为"Hello "则必须为"Hello"


#1楼

干得好...

- (NSString *)removeEndSpaceFrom:(NSString *)strtoremove{
    NSUInteger location = 0;
    unichar charBuffer[[strtoremove length]];
    [strtoremove getCharacters:charBuffer];
    int i = 0;
    for(i = [strtoremove length]; i >0; i--) {
        NSCharacterSet* charSet = [NSCharacterSet whitespaceCharacterSet];
        if(![charSet characterIsMember:charBuffer[i - 1]]) {
            break;
        }
    }
    return [strtoremove substringWithRange:NSMakeRange(location, i  - location)];
}

所以现在就叫它吧。 假设你有一个字符串,前面有空格,末尾有空格,你只想删除末尾的空格,你可以像这样调用它:

NSString *oneTwoThree = @"  TestString   ";
NSString *resultString;
resultString = [self removeEndSpaceFrom:oneTwoThree];

resultString将没有空格。


#2楼

我想出了这个函数,它基本上与Alex的答案中的行为类似:

-(NSString*)trimLastSpace:(NSString*)str{
    int i = str.length - 1;
    for (; i >= 0 && [str characterAtIndex:i] == ' '; i--);
    return [str substringToIndex:i + 1];
}

除了空格本身之外, whitespaceCharacterSet还包括制表符,在我的情况下无法显示。 所以我想一个简单的比较就足够了。


#3楼

NSString *trimmedString = [string stringByTrimmingCharactersInSet:
                              [NSCharacterSet whitespaceAndNewlineCharacterSet]];
//for remove whitespace and new line character

NSString *trimmedString = [string stringByTrimmingCharactersInSet:
                              [NSCharacterSet punctuationCharacterSet]]; 
//for remove characters in punctuation category

还有很多其他的CharacterSets。 根据您的要求自行检查。


#4楼

NSString* NSStringWithoutSpace(NSString* string)
{
    return [string stringByReplacingOccurrencesOfString:@" " withString:@""];
}

#5楼

Swift版本

只修剪字符串末尾的空格:

private func removingSpacesAtTheEndOfAString(var str: String) -> String {
    var i: Int = countElements(str) - 1, j: Int = i

    while(i >= 0 && str[advance(str.startIndex, i)] == " ") {
        --i
    }

    return str.substringWithRange(Range<String.Index>(start: str.startIndex, end: advance(str.endIndex, -(j - i))))
}

修剪字符串两边的空格:

var str: String = " Yolo "
var trimmedStr: String = str.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())

本文转载自:https://stackoom.com/question/O9Sq/从NSString的末尾修剪空格

粉丝 0
博文 1557
码字总数 0
作品 0
深圳
高级程序员
私信 提问
加载中

评论(0)

将 16进制 装换为 RGB

很多时候都使用 #XXXXXX 这种16进制的颜色值,在ios中需要转换为 RGB /// 转换 uicolor 颜色 func strConvertColor(colorStr:String , alpha:CGFloat = 1 ) -> UIColor { //删除字符串中的空...

asjoker
2016/01/27
33
0
(三)Boost库之字符串处理

字符串处理一直是c/c++的弱项,stringalgo库很好的弥补了这一点。 stringalgo 库算法命名规则: 前缀i : 有这个前缀表名算法的大小写不敏感,否则大小写敏感 后缀copy: 有这个后缀表明算法不...

fanzhao
2014/03/22
4K
0
为什么不要创建将ANSI_PADDING设置为OFF的列?

SQL Prompt是一款实用的SQL语法提示工具。它根据数据库的对象名称、语法和代码片段自动进行检索,为用户提供合适的代码选择。自动脚本设置使代码简单易读--当开发者不大熟悉脚本时尤其有用。...

wx5d39183e901c5
03/12
0
0
objecive-c分类

使用Object-C中的分类,是一种编译时的手段,允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到,这点和javascript中...

晨曦之光
2012/05/16
88
0
iOS字符串NSString中去掉空格(或替换为某个字符串)

问题描述】 今天请求服务器返回的字段中含有空格,这空格是服务器开发人员不小心往数据中多敲了,所以在客户端需要把字符串中的空格过滤掉。 【问题分析】 1、使用NSString中的stringByTrimm...

JlongTian
2016/01/08
111
0

没有更多内容

加载失败,请刷新页面

加载更多

如何用Python增强Excel,减少处理复杂数据的痛苦?

Excel既是一种祝福,也是一种诅咒。 当涉及到足够小的数据和足够简单的操作时,Excel是王道。然而,一旦发现自己在努力走出这些区域,它就会变成一种痛苦。 当然,可以使用ExcelVBA来解决这些...

Python圈子
19分钟前
14
0
Apache配置虚拟目录+Zend Studio访问

1 概述 Apache配置虚拟目录,然后可以通过Zend Studio的工程去访问,只需要修改Apache的httpd.conf文件. 2 修改httpd.conf 找到Apache安装目录下的httpd.conf,在末尾加上: <IfModule dir_modul...

氷泠
20分钟前
25
0
Android知识体系总结2020之Android部分控件篇

初级 1.基础布局 线性布局(LinearLayout) 相对布局(RelativeLayout) 约束布局(ConstraintLayout) 网格布局(GridLayout) 表格布局(TableLayout) 帧布局(FrameLayout) 绝对布局(AbsoluteLayout...

ClAndEllen
22分钟前
21
0
为什么要分库分表?

随着近些年信息化大跃进,各行各业无纸化办公产生了大量的数据,而越来越多的数据存入了数据库中。当使用MySQL数据库的时候,单表超出了2000万数据量就会出现性能上的分水岭。 并且物理服务器...

php开源社区
24分钟前
23
0
关于STM32的裸机多任务多线程心得

多任务多线程 多任务"并行处理" 首先我们来理解一下并行处理,初学者写程序通常是顺序执行,当我们逐渐想成为“专业”人士的时候顺序执行 的程序已经不能满足我们了,所以就需要多任务多线程...

shzwork
25分钟前
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部