返回
数据
分类

 3、去掉字符串中的空格和换行,强制换行       1、word-break

日期: 2019-11-21 06:00 浏览次数 : 115

【代码笔记】iOS-字符串替换回车和换行,ios-换行

一,代码。

必赢手机登录网址 1

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.


    //替换回车符和空格
    NSString *oldStr=@"  1   2   4   ";
    NSLog(@"----oldStr---%@",oldStr);
    //去掉首尾空格
    NSString *newStr=[oldStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSLog(@"---newStr---%@",newStr);
    //去掉中间的空格
    NSString *newNewStr=[newStr stringByReplacingOccurrencesOfString:@" " withString:@""];
    NSLog(@"---newNewStr--%@",newNewStr);
}

必赢手机登录网址 2

 

二,输出。

2015-10-23 13:16:50.310 字符串替换回车和换行[7678:198286] ----oldStr---  1   2   4   
2015-10-23 13:16:50.311 字符串替换回车和换行[7678:198286] ---newStr---1   2   4
2015-10-23 13:16:50.311 字符串替换回车和换行[7678:198286] ---newNewStr--124

 

一,代码。 - ( void )viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ty...

iOS字符串处理_替换(去掉空格换行)、截取,ios换行

以下代码主要实现了:1、截取"@@"前的字符串;  2、去掉字符串中的"##";  3、去掉字符串中的空格和换行。

希望相互学习相互指正。

 

-----ViewController.m内容如下:------

 

#import "ViewController.h"

#import "HandleString.h"

 

@interface ViewController ()

{

    NSString *_str;

    NSString *_tempStr;

    UILabel *_label;

}

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    

#pragma -----1.截取@@前面的内容 2.去掉## 3.去掉空格换行

    _str = @"静夜思##n床前   明月光n##疑是   ##地上霜n举头@@   望明月n低头   思故乡";

    _tempStr = _str;

    

    [self createSubview];

}

 

- (void)createSubview{

    _label = [[UILabel alloc]init];

    

    CGRect temp = self.view.frame;

    temp.origin.x += 20;

    temp.origin.y += 80;

    temp.size.width -= 40;

    temp.size.height = 150;

    _label.frame = temp;

    

    _label.textAlignment = NSTextAlignmentCenter;

    _label.lineBreakMode = NSLineBreakByWordWrapping;

    _label.numberOfLines = 0;

    _label.text = _str;

    _label.textColor = [UIColor greenColor];

必赢手机登录网址 ,    _label.backgroundColor = [[UIColor blueColor]colorWithAlphaComponent:0.3];

    [self.view addSubview:_label];

    

    

    for (NSInteger i = 0; i<4; i++) {

        UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];

        btn.frame = CGRectMake(0, CGRectGetMaxY(_label.frame)+50*(i+1), 150, 40);

        

        CGRect a = btn.frame;

        a.origin.x = self.view.center.x - a.size.width/2;

        btn.frame = a;

        

        btn.backgroundColor = [UIColor cyanColor];

        

        NSArray *arr = @[@"截取@@前面的内容",@"去掉##",@"去掉空格换行",@"还原"];

        [btn setTitle:arr[i] forState:UIControlStateNormal];

        

        btn.tag = 10 + i;//tag分别为10,11,12,13

        

        [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

        

        [self.view addSubview:btn];

    }

}

 

- (void)click:(UIButton *)button{

    NSInteger x = button.tag;

    

    switch (x) {

        case 10:

            _tempStr = [HandleString handleString:_tempStr interceptFrom:nil to:@"@"];

            break;

        case 11:

            _tempStr = [HandleString handleString:_tempStr replace:@"##" with:@" "];

            break;

        case 12:

            _tempStr = [HandleString delSpaceAndNewline:_tempStr];

            break;

        case 13:

            _tempStr = _str;

            break;

            

        default:

            break;

    }

    _label.text = _tempStr;

}

 

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

 

@end

 

 

------HandleString.h的内容如下:---------

#import <Foundation/Foundation.h>

 

@interface HandleString : NSObject

 

//用str2替换str1

+ (NSString *)handleString:(NSString *)string replace:(NSString *)str1 with:(NSString *)str2;

 

//从str1(包括),截取字符串到str2(不包括)

+ (NSString *)handleString:(NSString *)string interceptFrom:(NSString *)str1 to:(NSString *)str2;

 

//去掉字符串中的空格、换行

+ (NSString *)delSpaceAndNewline:(NSString *)string;

 

@end

------HandleString.m的内容如下:---------

#import "HandleString.h"

 

@implementation HandleString

 

+ (NSString *)delSpaceAndNewline:(NSString *)string;{

 

    NSMutableString *mutStr = [NSMutableString stringWithString:string];

    NSRange range = {0,mutStr.length};

    [mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];

    NSRange range2 = {0,mutStr.length};

    [mutStr replaceOccurrencesOfString:@"n" withString:@"" options:NSLiteralSearch range:range2];

    return mutStr;

    

    

//    string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符

//    string = [string stringByReplacingOccurrencesOfString:@" " withString:@""];

//    string = [string stringByReplacingOccurrencesOfString:@"n" withString:@""];

//    return string;

}

 

#pragma -----如果字符串中有str1,用str2替换掉

+ (NSString *)handleString:(NSString *)string replace:(NSString *)str1 with:(NSString *)str2;{

    if (str2 == nil) {

        str2 = @"";

    }

    

//    //方式一

//    NSMutableString *tempStr = [NSMutableString stringWithString:string];

//    NSRange range = {0,tempStr.length};

//    [tempStr replaceOccurrencesOfString:str1 withString:str2 options:NSLiteralSearch range:range];

//    return tempStr;

    

//    //方式二

//    string = [string stringByReplacingOccurrencesOfString:str1 withString:str2];

//    return string;

    

    

    //方式三

    NSArray *array = [string componentsSeparatedByString:str1];

    NSInteger count = [array count] - 1;

    

    NSMutableString *tempStr = [NSMutableString stringWithString:string];

    for (NSInteger i = 0; i<count; i++) {

        NSRange range = [tempStr rangeOfString:str1];

        NSInteger location = range.location;

        NSInteger length = range.length;

        if (location != NSNotFound) {

            [tempStr replaceCharactersInRange:NSMakeRange(location, length) withString:str2];

        }

    }

    return tempStr;

    

}

 

 

#pragma ------从字符串str1,截取到str2

+ (NSString *)handleString:(NSString *)string interceptFrom:(NSString *)str1 to:(NSString *)str2;{

    if (str1 == nil) {

        str1 = @"";

    }

    if (str2 == nil) {

        str2 = @"";

    }

    

    NSRange range1 = [string rangeOfString:str1];

    NSInteger location1 = range1.location;

    if (location1 != NSNotFound) {

        string = [string substringFromIndex:location1];

    }

    

    NSRange range2 = [string rangeOfString:str2];

    NSInteger location2 = range2.location;

    if (location2 != NSNotFound) {

        string = [string substringToIndex:location2];

    }

    

    return string;

}

 

 

@end

 

END

以下代码主要实现了:1、截取"@@"前的字符串; 2、去掉字符串中的"##"; 3、去掉字符串...

CSS 中的强制换行和禁止换行,css强制换行禁止

强制换行       1、word-break: break-all;       只对英文起作用,以字母作为换行依据。       2、word-wrap: break-word;   只对英文起作用,以单词作为换行依据。       3、white-space: pre-wrap;     只对中文起作用,强制换行。   禁止换行       white-space:nowrap; overflow:hidden; text-overflow:ellipsis;   Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,用IE6浏览时,常看到内容错位,非常影响网站的美观。另一方面,对二分栏结构的网站,在侧栏放一些文章标题时,如果标题过长它又是自动换行的,也影响版面的美观。

      在CSS里,主要有强制换行和禁止换行。

一、强制换行

      1、word-break: break-all;       只对英文起作用,以字母作为换行依据。
      2、word-wrap: break-word;   只对英文起作用,以单词作为换行依据。
      3、white-space: pre-wrap;     只对中文起作用,强制换行。

      word-break:break-all 和 word-wrap:break-word都是能使其容器如DIV的内容自动换行,它们的区别在于:

1、word-break:break-all

      假设div宽度为450px,它的内容就会到450px自动换行,如果该行末端有个很长的英文单词,它会把单词截断,一部分保持在行尾,另一部分换到下一行。

2、word-wrap:break-word 

      例子与上面一样,但区别就是它会把整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉。

      各自的效果演示如下:

<div style="width:450px; word-break: break-all;">
      Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。
</div>

Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。  

<div style="width:450px; word-wrap: break-word;">
      Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。
</div>

Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。  

<div style="width:450px; white-space: pre-wrap;">
      Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。
</div>

Jimdo系统在设计上一直存在一个BUG,那就是在主编辑区,遇到英文JimdoJimdo或数字字串(比如网址)时,没有设置强制换行,造成页面被撑破,内容错位,非常影响网站的美观。  

      呵呵,我们看到的效果,好象并不是所说的那样,可能是现在浏览器的版本不同了吧。一般地说,对于强制换行,用word-wrap: break-word; 就可以了。

二、禁止换行

      white-space:nowrap; overflow:hidden; text-overflow:ellipsis;

      white-space:nowrap; 是禁止换行。

      overflow:hidden; 是让多出的内容隐藏起来,否则多出的内容会撑破容器。

      text-overflow:ellipsis; 让多出的内容以省略号...来表达。但是这个属性主要用于IE等浏览器,Opera浏览器用-o-text-overflow:ellipsis; 而Firefox浏览器没有这个功能,多出的内容只能隐藏起来。

      下面看下效果演示:

      <div style="width:455px;white-space:nowrap; overflow:hidden; text-overflow:ellipsis; -o-text-overflow:ellipsis; ">

text-overflow:ellipsis; 让多出的内容以省略号...来表达。但是这个属性主要用于IE等浏览器,Opera浏览器用-o-text-overflow:ellipsis; 而Firefox浏览器没有这个功能,多出的内容只能隐藏起来。

      </div>

必赢手机登录网址 3 必赢手机登录网址 4 必赢手机登录网址 5

三、CSS换行代码在Jimdo上的应用

1、强制换行

      关于Jimdo上强制换行的问题,诸葛草帽已经很好地解决了这个问题,感兴趣的朋友可以去看一下,具体地址:

2、禁止换行

      禁止换行主要用于分栏结构的模板,在侧栏上添加一些标题性的内容时,有时内容过多换行反而显得不美观,如我这个侧栏上的“博文导读”就是这样:

必赢手机登录网址 6

      另外,有的朋友喜欢在侧栏上用“RSS Feed”调用最新博文,也会出现同样的问题,如下图:

必赢手机登录网址 7

      下面就来讨论一下解决的方法。

      我这个“博文导读”是手工编辑的,用的是UL列表,在CSS对它进行了设置,在页面上修改内容相当方便。要对它禁止换行,只要在CSS里修改一下li即可,具体代码是:

li {float:left; line-height: 22px;padding-left:0px;width:235px; white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;overflow:hidden;}

      主要是添加了红色代码,其中width:235px要根据具体版面进行修改。

      对于“RSS Feed”,可以采用同样的方法进行修改,在CSS里添加以下代码即可:

.rssFeed{width: 235px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-o-text-overflow:ellipsis;}

      修改以后的效果如下图:

必赢手机登录网址 8

      如果采用的是系统模板,不方便对CSS直接进行修改的话,可以将上CSS代码加到网页的“HEAD”中,效果是一样的,具体方法是:

<style type="text/css">
<!--
CSS代码
-->
</style>

CSS强制不换行,居中?

让div居中,body的text-align得是center;
div设置好宽度,然后white-space:nowrap;overflow:hidden;  

怎使用CSS限定A链接的文字强制不换行?

给a的CSS里面加上word-break:keep-all;white-space:nowrap;试试,前面的是在IE下生效,后面的是在Firefox和Opera下生效  

中的强制换行和禁止换行,css强制换行禁止 强制换行 1、word-break: break-all; 只对英文起作用,以字母作为换行依据。 2、word-wrap: break-wo...