首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从uitextfield开始删除WhiteSpace

从uitextfield开始删除WhiteSpace
EN

Stack Overflow用户
提问于 2013-04-22 08:20:03
回答 4查看 15.4K关注 0票数 6

我想删除单词开头的空白。也就是说,我的第一个角色不应该是空格,在两个单词之间只有一个空格,.I尝试了很多事情,但无法从一开始就删除空间。

我的代码是:

控制器.h

代码语言:javascript
复制
int whitespaceCount;

控制器.m

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];
    if ([string rangeOfCharacterFromSet:whitespace].location != NSNotFound)
    {
        whitespaceCount++;
        if (whitespaceCount > 1)
        {
            return NO;
        }
    }
    else
    {
        whitespaceCount = 0;
        return YES;
    }
}

从上面的代码来看,两个单词之间的一个空格是完美的。请建议我如何去除开始空间。提前谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-22 08:25:16

你可以用方法:-

代码语言:javascript
复制
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    if (range.location == 0 && [string isEqualToString:@" "]) {
        return NO;
    }
    return YES;
} 

或者对于最新的Swift,您可以使用以下方法:

代码语言:javascript
复制
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    if range.location == 0 && (string == " ") {
        return false
    }
    return true
}

使用此选项,您无法在开始时输入空白。

你也可以这样做:-

代码语言:javascript
复制
 NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];

如果要将其从字符串中删除,则需要进行以下工作

代码语言:javascript
复制
NEW STRING> = [<STRING_CONTAINS WHITESPACE> stringByTrimmingCharactersInSet:whitespace];
 NSLog("String without white space = %@",NEW STRING);

或者,如果要从文本字段中完全删除空白,请使用以下命令:

代码语言:javascript
复制
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {

    if (string == " ") {
        return false
    }
    return true
}

要使此方法有效,请确保标记您的textfield.delegate = self

票数 23
EN

Stack Overflow用户

发布于 2013-04-22 09:08:15

当您要使用文本字段时,请在文本框内修剪文本

代码语言:javascript
复制
myTextfiled.text = [myTextfiled.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];

这将从开始到结束都会减少空白。

票数 7
EN

Stack Overflow用户

发布于 2013-04-22 08:24:03

方法完全删除文本前后的空格:string = [string stringByTrimmingCharactersInSet:whitespace];

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16142440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档