我想删除单词开头的空白。也就是说,我的第一个角色不应该是空格,在两个单词之间只有一个空格,.I尝试了很多事情,但无法从一开始就删除空间。
我的代码是:
控制器.h
int whitespaceCount;控制器.m
- (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;
}
}从上面的代码来看,两个单词之间的一个空格是完美的。请建议我如何去除开始空间。提前谢谢。
发布于 2013-04-22 08:25:16
你可以用方法:-
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (range.location == 0 && [string isEqualToString:@" "]) {
return NO;
}
return YES;
} 或者对于最新的Swift,您可以使用以下方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if range.location == 0 && (string == " ") {
return false
}
return true
}使用此选项,您无法在开始时输入空白。
你也可以这样做:-
NSCharacterSet *whitespace = [NSCharacterSet whitespaceAndNewlineCharacterSet];如果要将其从字符串中删除,则需要进行以下工作
NEW STRING> = [<STRING_CONTAINS WHITESPACE> stringByTrimmingCharactersInSet:whitespace];
NSLog("String without white space = %@",NEW STRING);或者,如果要从文本字段中完全删除空白,请使用以下命令:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if (string == " ") {
return false
}
return true
}要使此方法有效,请确保标记您的textfield.delegate = self
发布于 2013-04-22 09:08:15
当您要使用文本字段时,请在文本框内修剪文本
myTextfiled.text = [myTextfiled.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]];这将从开始到结束都会减少空白。
发布于 2013-04-22 08:24:03
方法完全删除文本前后的空格:string = [string stringByTrimmingCharactersInSet:whitespace];
https://stackoverflow.com/questions/16142440
复制相似问题