码迷,mamicode.com
首页 > 编程语言 > 详细

Swift # 字符串

时间:2015-05-11 23:40:58      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

//: Playground - noun: a place where people can play

import UIKit

var str = "Hello, playground"

println("----字符----");
/*
字符:
Swift和OC字符不一样, Swift是用双引号.
Swift中的字符类型和OC中的也不一样, OC中的字符占一个字节,因为它只包含ASCII表中的字符, 而Swift中的字符除了可以存储ASCII表中的字符还可以存储unicode字符, 例如中文
OC的字符是遵守ASCII标准的,Swift的字符是遵守unicode标准的, 所以可以存放时间上所有国家语言的字符(大部分)
OC:
OC: char charValue = ‘a‘;
char charValue = ‘李‘; // 错误

Swift:
*/
var charValue: Character = "a"
var charValue1:Character = "" //正确
// 注意: 双引号中只能放一个字符, 如下是错误写法
// Swift: var charValue:Character = "ab"


println("----字符串----");
/*
字符串:
字符是单个字符的集合, 字符串是多个字符的集合, 想要存放多个字符需要使用字符串.

C:
char *stringValue = "ab";
char stringArr = "ab";

OC:
NSString *stringValue = "ab";

Swift:
var stringValue = "ab"

>C语言中的字符串是以\0结尾的, 例如:
char *stringValue = "abc\0bcd";
printf("%s", stringValue);
打印结果为abc

>OC语言中的字符串也是以\0结尾的, 例如:
NSString *stringValue = @"abc\0bcd";
NSLog(@"%@", stringValue);
打印结果为abc

>Swift中的字符串和C语言/OC语言中的字符串是不一样的
*/
var stringValue  = "ab"
var stringValue1 = "abc\0bcd"
println(stringValue)


println("-计算字符串、长度-");
/*
字符串常用方法:
>计算字符串长度-----
C:
char *stringValue = "abc李";
printf("%tu", strlen(stringValue));
打印结果6, 字节数

OC:
NSString *stringValue = @"abc李";
NSLog(@"%tu", stringValue.length);
打印结果4, 以UTF16计算

Swift: Swift中的字符串是完全兼容unicode标准的
*/
var stringValue2 = "abc李"
println(count(stringValue2))

// 打印结果4, 无论以什么编码, 都是计算元素的个数


println("--拼接、字符串--");
/*
>字符串拼接-----
C:
char str1[] = "abc";
char *str2 = "bcd";
char *str = strcat(str1, str2);

OC:
NSMutableString *str1 = [NSMutableString stringWithString:@"abc"];
NSString *str2 = @"bcd";
[str1 appendString:str2];
NSLog(@"%@", str1);

Swift:
*/

var str1 = "abc";
var str2 = "bcd";
var str12 = str1 + str2;


println("--格式化、字符串--");
/*
>字符串格式化-----
OC:
NSInteger index = 1;
NSString *str1 = [NSMutableString stringWithFormat:@"http://ios.itcast.cn/pic/%tu.png", index];
NSLog(@"%@", str1);

Swift:
*/
var index = 1
var str3 = "http://ios.itcast.cn/pic/\(index).png"
println(str3)


println("--比较、字符串--");
/*
>字符串比较-----
OC:
NSString *str1 = @"abc";
NSString *str2 = @"abc";
if ([str1 isEqualToString:str2])
{
NSLog(@"相等");
}else
{
NSLog(@"不相等");
}

if ([str1 compare:str2] == NSOrderedSame)
{
NSLog(@"相等");
}else
{
NSLog(@"不相等");
}

Swift:(== / != / >= / <=), 和C语言的strcmp一样是逐个比较
*/
var str10 = "abc";
var str20 = "abc";
if str10 == str20
{
    println("相等");
}else
{
    println("不相等");
}

var str11 = "abd";
var str21 = "abc";
if str11 >= str21
{
    println("大于等于");
}else
{
    println("不大于等于");
}

/*
>判断是否为空
OC:
NSString *str1 = @"abc";
if (str1.length == 0) {
NSLog(@"没有值");
}else{
NSLog(@"有值");
}

Swift:
*/
var str0 = "abc"
if str0.isEmpty{
    println("没有值")
}else{
    println("有值")
}

/*
>判断前后缀-----
OC:
NSString *str = @"http://ios.520it.com";
if ([str hasPrefix:@"http"]) {
NSLog(@"是url");
}

if ([str hasSuffix:@".cn"]) {
NSLog(@"是天朝顶级域名");
}

Swift:
*/

var str00 = "http://ios.520it.com"
if str00.hasPrefix("http") {
    println("是url");
}

if str00.hasSuffix(".cn") {
    println("是天朝顶级域名");
}

/*
>获取扩展名-----
OC:
NSString *str = @"abc.txt";
NSLog(@"%@", [str pathExtension]);

Swift:
*/
var str02 = "abc.txt";
println(str02.pathExtension)


/*
>大小写转换-----
OC:
NSString *str = @"abc.txt";
NSLog(@"%@", [str uppercaseString]);
NSLog(@"%@", [str lowercaseString]);

Swift:*/
var str01 = "abc.txt";
println(str01.uppercaseString)
println(str01.lowercaseString)


/*
>数据类型转换
OC:
NSString *str = @"250";
NSInteger number = [str integerValue];
NSLog(@"%tu", number);

Swift:
*/
var str000 = "250"
// 如果str不能转换为整数, 那么可选类型返回nil
// str = "250sb"
// 注意不要在转换时候(.toInt()!)强制解包, 如果不能转换又强制解包会触发运行时错误
var number:Int? = str000.toInt()
if number != nil
{
// 以前的版本println会自动拆包, 现在的不会
println(number!)
}

// 如果要将字符串转换为其它类型, 需要借助OC中的方法
str000 = "10.1"
var d = (str000 as NSString).doubleValue

 

|--> Copyright (c) 2015 Bing Ma.

|--> GitHub RUL: https://github.com/SpongeBob-GitHub

Swift # 字符串

标签:

原文地址:http://www.cnblogs.com/SpongeBob-GitHub/p/4495660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!