Swift # 字符串

//: 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

时间: 2024-10-24 18:57:07

Swift # 字符串的相关文章

Swift字符串截取方法的改进

字符串截取方法是字符串处理中常用的基本方法.熟悉iOS的朋友都知道在基础类的NSString中有substringToIndex:,substringFromIndex:以及substringWithRange:这三种基本的截取方法. 问题描述: 那么,Swift语言中的String类是否有同样的截取功能呢? 反复查看String类的头文件,并没有找到相同或相似的函数接口. 直接在swift文件里也不能对一个String类的变量调用上面的方法. 然而通过引入基础框架,即 import Found

强大的swift字符串

Swift集百家之长,吸收了主流语言java,c,c++等的好的特性,所以它功能十分强大,今天我们就来看看它强大的字符串. 首先,我们带着这样几个问题去了解.理解swift的字符串. 1.swift字符串怎么初始化的? 2.swift字符串长度可变吗? 3.swift字符串是指针,还是实际的值? 4.swift有哪些特性? 下面,我来一一解答这些问题. (1) swift 字符串的初始化有2种方式,这两种方式的结果都是一样的.我们来初始化一个空字符串. var str1 = "" //

Swift字符串和字符

String 是一个有序的字符集合,例如 "hello, world", "albatross".Swift 字符串通过 String 类型来表示,也可以表示为 Character 类型值的集合. Swift 的 String 和 Character 类型提供了一个快速的,兼容 Unicode 的方式来处理代码中的文本信息.创建和操作字符串的语法与 C的操作方式相似,轻量并且易读.字符串连接操作只需要简单地通过 + 号将两个字符串相连即可.与 Swift 中其他值一

5.Swift字符串和字符

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 字符串是一组字符的有序序列,比如"hello,china"或者"albatross".Swfit里字符串用String表示,String也是字符类型Charactar的集合类型.Swift的String和Charactor类型提供了快速的,符合Unicode编码规范的方式来处理文本.创建或者操作的语法都非常轻便易读,跟C的语法也很相似.String

Swift 字符串和字符

swift中的字符串和字符都兼容unicode 定义一个字符串 let  hello="hello world" 初始化一个空的字符串 let hello="" let hello=String() 判断一个字符串是否为空 if hello.isEmpty{ println("这是个空字符串") } 字符串可以使用+进行连接 字符串是由单个字符组成 for 单个字符 in hello{ println(单个字符) } 单独定义一个字符 var 单

Swift字符串类型

字符串初始化 1.初始化 let someString = "Some string literalvalue" let wiseWords = "\"Imagination is moreimportant than knowledge\" -Einstein" let dollarSign = "\x24" // $, Unicodescalar U+0024 let blackHeart = "\u2665&q

swift(二)swift字符串和字符和逻辑运算

/* 1.swift字符串和字符 2.构造字符串 3.字符串比较 4.数值运算 5.复制运算 6.关系运算 7.逻辑运算 8.区间运算 */ /* //数据 + 数据的处理 //字符信息+ 字符信息的处理 //char a = '张' //“hello” //const char * p = “hello” //char array[]= "hello" */ //var c:Character //c = "张" // //var b:String = "

Swift字符串的插入、删除和替换-备

对应可变字符串可以插入.删除和替换,String提供了几个方法可以帮助实现这些操作.这些方法如下: splice(_:atIndex:).在索引位置插入字符串. insert(_:atIndex:).在索引位置插入字符. removeAtIndex(_:).在索引位置删除字符. removeRange(_:).删除指定范围内的字符串. replaceRange(_:,with: String) .使用字符串或字符替换指定范围内的字符串. 代码: var str ="Swift" pri

swift字符串操作

1. 在swift中定义字符串很简单 var str = "swift so easy" 2. 字符串拼接 var str2 = "but have all keng" var str3 = str + str2 这样就把str 与 str2 拼接到 str3上, 是不是比oc 简单很多 其他类型的拼接用\() var age = 10 定义一个Int类型的age, 如果把age加刀str3里面 str3 = str3 + "\(age)" 3.