Ios/swift/数字と文字
提供: 初心者エンジニアの簡易メモ
目次
リアルタイム実行環境構築
- xcodeを起動後"get started with a playground"を選択
- 左にコードを記述すると、右に結果がリアルタイムで表示される
定義
let a = 1 // letで定数定義 var b = a + 2 // varで変数定義 var str = "Hello, playground"
データ型定義
Int, Double, Float, String, Bool, Stringなどがある
var a:Int = 1 var c:UInt = 10 // 正の数のみ var d:Int32 = 4 // 32bit数
数字を文字へ
let num = 1 "hello" + num.description "hello" + String(num)
文字を数字へ
var id = "1234" print(Int(id)) // 1234
参考:http://qiita.com/sasagin/items/28c3af9a25151f8ab4a6
指定した文字が含まれているか
var url : String = "ttp://example.com" if url.containsString("http://") || url.containsString("https://") { print("httpが含まれる") }
文字置換
let str = "hogepiyo" str = str.stringByReplacingOccurrencesOfString("ge", withString: "ho") // hohopiyo
正規表現置換
var html: String = "hote\nhote" html = html.stringByReplacingOccurrencesOfString("\n", withString:"
", options:NSStringCompareOptions.RegularExpressionSearch, range: nil)
StringからOptionalを消す
print(test) // Optional("aaa") let test2 = test as! String // "aaa"
正規表現によるurl抽出
import UIKit let pattern = "(https?://[-_.!‾*'()a-zA-Z0-9;/?:@&=+$,%#]+)" let str: String = "<img src=\"http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png\" ><a href=\"http://yahoo.co.jp?page=1#jpg\" >" let regex = try! NSRegularExpression(pattern: pattern, options: .CaseInsensitive) let matches = regex.matchesInString(str, options: [], range: NSMakeRange(0, str.characters.count)) var results: [String] = [] matches.forEach { (match) -> () in results.append( (str as NSString).substringWithRange(match.rangeAtIndex(1)) ) } print(results) ["http://k.yimg.jp/images/top/sp2/cmn/logo-ns-131205.png", "http://yahoo.co.jp?page=1#jpg"]
画像urlを抽出
let pattern = "(https?://[-_.!‾*'()a-zA-Z0-9;/?:@&=+$,%#]+).(jpg|png|gif|jpeg)" let regex = try! NSRegularExpression(pattern: pattern, options: .CaseInsensitive) let matches = regex.matchesInString(str, options: [], range: NSMakeRange(0, str.characters.count)) var results: [String] = [] matches.forEach { (match) -> () in if (str as NSString).substringWithRange(match.rangeAtIndex(2)) != "" { results.append( String((str as NSString).substringWithRange(match.rangeAtIndex(1))) + "." + String((str as NSString).substringWithRange(match.rangeAtIndex(2))) ) } } return results
配列内検索
phpでいうin_array()
let names: [String] = ['aa', 'bb', 'cc'] let str = 'aa' if names.contains(str) {