Swift学习字符串、数组、字典
一.字符串的使用
let wiseWords = "\"I am a handsome\"-boy"
var emptyString = ""
if emptyString.isEmpty{
println("这是一个空值")
}
简单说明:isEmpty方法是用来判断字符串是否为空值的,之后会执行if语句中的println方法,因为emptyString是一个空的字符串。
注意:创建一个空的字符串有两种方法,一是如emptyString = "" ;另一种是通过字符串类实例化一个空的字符串 var emptyAnotherString = String().
假如我们想要遍历字符串中的每个字符,可以采用 for in,如:
for cha in "dog!"
{
println(cha)
}
通过playground可以看出有四个字符输出:分别是d、o、g、!.
如果想要获取一个字符串的字符数,可以利用countElements方法:
let unusualMenagerie = "Koala , Snail , Penguin , Dromedary "
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters")
可以看到在playground中输出这么一段话:"unusualMenagerie has 36 characters".
字符串的大小写:
大写:uppercaseString
小写:lowercaseString
let normal = "Could u help m,please?"
let shouty = normal.uppercaseString
let small = normal.lowercaseString
此时shouty = "COULD U HELP M,PLEASE?"而small = "could u help m,please?"
二:数组
首先定义一个可变数组:
//数组
var arr = ["dog","cat","cow"]
可以知道arr数组中包含三个元素,分别是dog、cat、cow
这个时候如果想在原有的数组中再插入一条数据,可以采用如下的方法实现:
//插入
arr.insert("dog", atIndex: 0)
这条语句是在arr索引为0的位置插入dog值,此时的arr数组就有四个有效值,分别是dog、dog、cat、cow
移除数组中指定位置的值(假如移除索引为1处的值):
//移除
let sub = arr.removeAtIndex(1)
如果想要移除数组中最后一个元素的值:
//移除最后一个元素
let sub2 = arr.removeLast()
取出数组中的索引和对应的值:
//取索引和值
for (index,value) in enumerate(arr){
println("Item \(index + 1): \(value)")
}
可以在playground中清楚的看到打印结果如图示:

三:字典
字典类型写为字典<KeyType, valueType>,KeyType 可以用作字典键的数值类型,valueType 是 字典为那些键储存的数值类型。唯一的局限是 KeyType 必须是 hashable,基本类型(比如 String、Int、Double 和 Bool)都默认为是 hashable
初始化一个字典:
var animals : Dictionary<String,String> = ["dog":"狗", "cat":"猫" ,"cow":"牛"]
修改字典中某一个key对应的value有两种方式可以选择:
animals["dog"] = "这是一条狗"
animals.updateValue("小明", forKey: "perple")
其中updateValue(forKey:)的返回值是旧值
想要在原字典中添加一个键值对,可以直接以下面这种方式实现:
animals["perple"] = "人"
Swift学习字符串、数组、字典的更多相关文章
- Swift学习—字符串&数组&字典
字符串 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" ...
- Swift(一,创建对象,类型推导,基本运算,逻辑,字符串,数组,字典)
swift用起来刚开始感觉有点怪怪的,但用了一段时间觉得还是挺好用的,哈哈.毕竟都是要有一个过程的嘛. 我就写一些自己在使用swift的时候的注意点吧,如有不正之处,还请指正! 一.在开发中优先使用常 ...
- [Swift]JSON字符串与字典(Dictionary)、数组(Array)之间的相互转换
1.JSON字符串与字典(Dictionary)之间的相互转换 import Foundation //JSON字符串转换为字典(Dictionary) func getDictionaryFromJ ...
- Object-C 语法 字符串 数组 字典 和常用函数 学习笔记
字符串 //取子字符串 NSString *str1=@"今天的猪肉真贵,200块一斤"; NSString *sub1=[str1 substringFromIndex:4]; ...
- Swift JSON字符串和字典以及数组的互转
1.JSONString转换为字典 // JSONString转换为字典 func getDictionaryFromJSONString(jsonString:String) ->NSDict ...
- IOS NS 字符串 数组 字典 文件 动态 静态 操作
ios 常用字符串的操作 //将NSData转化为NSString NSString* str = [[NSString alloc] initWithData:response e ...
- oc字符串+数组+字典操作题目
1. 判断中间目录是否存在 (10分) 比如 传入字符串 @"/home/qianfeng/oc.txt" 和 @"qianfeng" 返回:YES 传入字符串 ...
- Swift 循环、数组 字典的遍历
import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...
- swift学习之数组
首先数组的定义:以有序的方式存储同样类型的值 (1)数组的简写(shorthand)语法 你能够通过Array<Element>,在这里,Element时数组存储元素的值的类型.也能够通过 ...
随机推荐
- SpriteBuilder中音频波长超过Timeline结尾的情况
见如下图: 注意最后一个音频波长延续到Timeline结尾之后.表明这个音频文件播放长度超过Timeline(动画)播放的长度.这是否成为一个问题要视情况而定.而在这里无所谓. 如果节点所拥有的Tim ...
- 【一天一道LeetCode】#9. Palindrome Number
一天一道LeetCode系列 (一)题目 Determine whether an integer is a palindrome. Do this without extra space. Some ...
- OpenCV kmeans代码
代码:出处忘了 // // Example 13-1. Using K-means // // /* *************** License:************************* ...
- Android Studio Gradle Configuration Errors总结
初次看到这个错误,我从下手Error:Configuration with name 'default' not found. 只知道这是由于android的grad项目构建的时候出现的错误,但是具 ...
- C# 创建Word项目标号列表、多级编号列表
在Word文档中,对于有多条并列的信息内容或者段落时,我们常以添加项目标号的形式来使文档条理化,在阅读时,文档也更具美观性.另外,对于在逻辑上存在一定层级结构的内容时,也可以通过多级编号列表来标明文档 ...
- Configure the MySQL account associate to the domain user via MySQL Windows Authentication Plugin
在此记录如何将之前一次做第三发软件在配置的过程. 将AD user通过代理映射到mysql 用户. 在Mysql官网有这样一段话: The server-side Windows authentica ...
- TCP / IP,HTTP
大学学习网络基础的时候老师讲过,网络由下往上分为物理层.数据链路层.网络层.传输层.会话层.表示层和应用层.通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用 ...
- 关于Linux和Unix的分析
Linux操作系统即linux. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软 ...
- Greenplum测试部署笔记
按照官方Readme文档在Ubunut16.04上成功编译安装Greenplum最新代码(now:2017-11-12 21:40) 按照文档安装的过程中主要出现两个问题: 1.Root用户安装会卡在 ...
- Flex编码随笔
1.CSS定义最好放在application里面. 2.数据源是数组数据时,最好把数组转换为ArrayCollection. 3.List.CheckBox等控件的HttpService Params ...