【swift总结】字符串和字符

声明字符串

var str = "Hello, playground"   //声明一个字符串
var emptyStr = "";      //声明一个空的字符串
var emptyStr1 = String();   //相等于上面的那个
str.isEmpty;    //判断str是不是为空false
emptyStr.isEmpty;   //true

字符串连接

var str1 = "hello";
var str2 = "world";
var str = str1 + str2;

打印字符串中的每个字符

for character in str.characters {
    print(character);
}

声明字符

let c: Character = "a"; //'a'是错误的

let cat:[Character] = ["c", "a", "t", "!"];     //声明一个字符数组
let catStr = String(cat);   //将字符数组变为字符串

字符串后面追加字符

let c: Character = "a";
catStr.append(c);

字符串插值

可以使用”(value)”方式往字符串中插入值,构建一个新的字符串

let someNum: Int = 40;
let message = "我有\(someNum)包茶叶";

字符串含有字符的数量

let num = message.characters.count  //message字符串含有的字符

访问和修改字符串

使用下标访问

let greet = "good morning";

/*startIndex代表字符串开始的下标*/
greet[greet.startIndex];

/*endIndex代表字符串结束的下面    predecessor代表前一个*/
greet[greet.endIndex.predecessor()];

/*successor表带继续的也就是下一个*/
greet[greet.startIndex.successor()];

/*字符串不支持直接访问下标,需要使用advance函数转化,如果访问的下标超出字符串就会发出运行时错误*/
let index = advance(greet.startIndex, 7);
greet[index];

greet[7]    //语法错误
greet[greet.endIndex];  //错误
greet[greet.endIndex.successor()];  //错误

使用indices创建一个下标范围

for index in indices(greet) {
    print("\(greet[index])");
}

往字符串中添加和删除元素

var greet = "hello";

/*使用insert插入字符*/
greet.insert("!", atIndex: greet.startIndex);

/*使用splice插入字符组*/
greet.splice("world".characters, atIndex: greet.endIndex);

/*removeAtIndex移除在某个下标的字符*/
greet.removeAtIndex(greet.startIndex);

/*创建一个范围,然后移除这个范围*/
let range = advance(greet.startIndex, 5)..<greet.endIndex;
greet.removeRange(range);

字符串比较

let str1 = "hello";
let str2 = "hello"
str1 == str2;   //比较两个字符串是否相等
let strs = ["hello", "morning", "happy"];

for str in strs {

//判断字符串开头是否包含he
    if(str.hasPrefix("he")) {
        print(str);

//判断字符串结尾是否包含ng
    }else if str.hasSuffix("ng") {
        print(str);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值