Swift开发技巧走进swift首页投稿(暂停使用,暂停投稿)

swift一起做一些练手小把戏-坚持就是胜利

2016-03-31  本文已影响572人  brzhang

文本操作

let strRerverse = String.init(str.characters.reverse())
//友情使用喵神的正则tips
struct RegexHelper {
    let regex: NSRegularExpression

    init(_ pattern: String) throws {
        try regex = NSRegularExpression(pattern: pattern,
            options: .CaseInsensitive)
    }

    func match(input: String) -> Int {
        let matches = regex.matchesInString(input,
            options: [],
            range: NSMakeRange(0, input.characters.count))
        return matches.count
    }
}

infix operator =~ {
    associativity none
    precedence 130
}

func =~ (lhs: String, rhs: String) -> Bool {
    do {
        return try RegexHelper(rhs).match(lhs) > 0
    } catch _ {
        return false
    }
}

func getay(string: String) -> String {
    
    for charter in string.characters {
        if String(charter) =~ "[^aeiou]"{
            return "\(string)-\(charter)ay"
        }
    }
    return ""
}

getay("afuieu")


func getvowelNuM(string: String) -> (a: Int, e: Int, i: Int, o: Int, u: Int) {
    var tuple = (0, 0, 0, 0, 0)
    for charter in string.characters{
        switch String(charter).uppercaseString {
        case "A":
            tuple.0 += 1
        case "E":
            tuple.1 += 1
        case "I":
            tuple.2 += 1
        case "O":
            tuple.3 += 1
        case "U":
            tuple.4 += 1
        default:
            break
        }
    }
    return tuple
}
//test
let tuple = getvowelNuM("feuiajisfiweqrifosidajifojsdafjoisajdfiewifioasjifasdf")
tuple.a
tuple.e
tuple.i
tuple.o
tuple.u

//用到第一题的答案
extension String {
    
    /**
     return reverse of the string
     
     - returns: String
     */
    func reverse() -> String {
        return String.init(self.characters.reverse())
    }
}

/**
 字符串是否是回文
 
 - parameter string: orgin string
 
 - returns: bool
 */
func isPalindrome(string:String) -> Bool {
    return string.reverse() == string
}
//测试
isPalindrome("我怕")
isPalindrome("我怕怕我")
//用到喵神的正则的tips

let str = "Any one may mouth out, a passage with, a theatrical cadence cadence cadence cadence"

struct RegexHelper {
    let regex: NSRegularExpression

    init(_ pattern: String) throws {
        try regex = NSRegularExpression(pattern: pattern,
            options: .CaseInsensitive)
    }

    func match(input: String) -> Int {
        let matches = regex.matchesInString(input,
            options: [],
            range: NSMakeRange(0, input.characters.count))
        return matches.count
    }
}

//infix operator =~ {
//    associativity none
//    precedence 130
//}
//
//func =~ (lhs: String, rhs: String) -> Bool {
//    do {
//        return try RegexHelper(rhs).match(lhs) > 0
//    } catch _ {
//        return false
//    }
//}

func worldCount(orginString:String)->Int{

    do {
        return try RegexHelper("\\w+").match(orginString)
    } catch _ {
        return 0
    }
}

worldCount(str)

网络

线程处理

Web应用

数据库

图像和多媒体

游戏

上一篇 下一篇

猜你喜欢

热点阅读