// // String-Extras.swift // Swift Tools // // Created by Fahim Farook on 23/7/14. // Copyright (c) 2014 RookSoft Pte. Ltd. All rights reserved. // #if os(iOS) import UIKit #else import AppKit #endif extension String { func positionOf(sub:String)->Int { var pos = -1 if let range = range(of:sub) { if !range.isEmpty { pos = characters.distance(from:startIndex, to:range.lowerBound) } } return pos } func subString(start:Int, length:Int = -1)->String { var len = length if len == -1 { len = characters.count - start } let st = characters.index(startIndex, offsetBy:start) let en = characters.index(st, offsetBy:len) let range = st ..< en return substring(with:range) } func length() -> Int { return self.characters.count; } func urlEncoded()->String { let res:NSString = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, self as NSString, nil, "!*'();:@&=+$,/?%#[]" as CFString!, CFStringConvertNSStringEncodingToEncoding(String.Encoding.utf8.rawValue)) return res as String } func urlDecoded()->String { let res:NSString = CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, self as NSString, "" as CFString!, CFStringConvertNSStringEncodingToEncoding(String.Encoding.utf8.rawValue)) return res as String } func range()->Range<String.Index> { return Range<String.Index>(startIndex ..< endIndex) } }
相关推荐
`swift-Attributed`库提供了一种便捷且实用的方式来扩展Swift中的属性字符串功能,使开发者能够更加轻松地处理富文本。 `swift-Attributed`库的核心特性包括: 1. **链式操作**:通过链式调用方法,你可以轻松地...
在`younatics-Stringfication-b5a40ab`这个压缩包文件中,可能包含了关于Swift中Stringfication的示例代码或者扩展,比如自定义`String`初始化方法、利用`Mirror`进行反射、实现`CustomStringConvertible`和`...
在Swift编程中,标准的字符串插值方式虽然方便,但有时并不满足所有需求,特别是在需要高度自定义格式或者处理复杂的字符串格式时。Sprinter的出现,填补了这一空白,它允许开发者使用类似于`%d`、`%s`这样的格式...
这样,我们就可以在任何字符串上调用`containsCaseInsensitive`方法,而无需额外的辅助函数。 SwifterSwift库可能包含了各种各样的函数扩展,如日期操作、网络请求、JSON解析、图像处理等。这些扩展可能包括: 1. ...
在Swift编程中,URL(统一资源定位符)是用于标识互联网上特定资源的字符串,它包含协议、主机名、路径、查询参数等信息。然而,URL中可能存在一些不合法的字符,比如空格、中文字符以及其他特殊字符,这些字符可能...
在"swift-UtilityFunction常用工具类方法扩展视图等"这个主题中,我们可以探讨以下几个关键知识点: 1. **扩展(Extensions)**:Swift中的扩展允许我们为已有的类型添加新功能,无需继承。例如,我们可以为String...
在Swift编程语言中,Base64是一种常用的编码方式,用于将二进制数据转换为可打印的ASCII字符串,便于在网络传输、存储等场景下使用。`swift-SwiftBase64`是一个开源库,它提供了方便的方式来处理Base64编码和解码,...
综上所述,通过自定义`UITextField`子类并重写其代理方法,我们可以实现对用户输入的纯数字、最大数量、价格格式和字符串长度的控制。在`PPTextField-master`项目中,你可以找到更具体的实现方式,这将帮助你更好地...
在Swift中,我们可以扩展`Array`类型来添加一个新的方法,如`sortedByMixedName()`,该方法会根据中文和英文的字典顺序进行排序。这通常涉及到Unicode字符的处理,确保中文和英文都能正确比较。以下是一个简化的排序...
首先,`swift-strings<——>csv文件解析转换`这个标题暗示我们将关注两个主要部分:字符串操作和CSV文件处理。Swift内置的`String`类型提供了丰富的功能,可以用于处理和解析字符串。例如,我们可以通过`split`函数...
MRCommon可能会提供类似于`formatString`或`replaceSubstrings`的方法,这些方法可以更方便地进行字符串操作,而无需编写复杂的循环和条件判断。 其次,MRCommon可能包含数组和字典的扩展。在Swift中,虽然标准库...
"swift-scrollText滚动文字文字滚动一句代码实现传入字符串即可"这个标题暗示了我们可以用一种简单的方法在Swift中快速创建文字滚动效果,无需复杂的布局和动画代码。 描述中的"scrollText滚动文字,文字滚动,一句...
例如,`String`的扩展可能有一个方法`containsCaseInsensitive(string:)`,用于不区分大小写地判断字符串是否包含另一个字符串。 其次,"YYCategories"可能还扩展了集合类型,如`Array`、`Dictionary`和`Set`。这...
- 解析JSON字符串或字典到Swift对象: ```swift let jsonString = "{\"name\":\"John\", \"age\":30}" let json = SexyJson.parse(jsonString) let user = json.toModel(User.self) ``` - 序列化Swift对象到...
static func decode(_ json: JSON) -> Decoded<User> { return curry(self.init) <^> json <| "name" <*> json <| "age" } } ``` 2. **解析JSON**: 有了模型定义后,你可以使用`decode`函数将JSON数据转换为...
Swift有多种内置数据类型,如整型(Int)、浮点型(Double/Float)、布尔型(Bool)和字符串(String)。类型系统严格,需要在声明时指定类型。 3. 注释 Swift支持单行注释(//)和多行注释(/* */)。 4. 控制流 ...
return data[row] // 返回对应行的字符串 } ``` 如果需要更复杂的布局或格式化,可以使用 `attributedTitleForRow:forComponent:` 返回带有样式的 `NSAttributedString`。 总结来说,自定义 `UIPickerView` 主要...
这个库提供了一个更简洁、易读的方式来创建和管理具有多种属性的字符串。 `TextAttributes`是由Swift社区开发的一个开源项目,它允许开发者以链式调用的方式设置文本属性,使得代码更加清晰和模块化。这个库特别...
这些类提供了创建和操作带有属性(如颜色、字体等)的字符串的方法。`NSAttributedString`是不可变的,而`NSMutableAttributedString`允许我们修改其内容和属性。 标题"swift-一行代码搞定常见的富文本显示"暗示...
, constant: CGFloat) -> NSLayoutConstraint { // 添加约束实现 } } let view = UIView() .constraint(nil, to: view.topAnchor, constant: 20) .constraint(view.leadingAnchor, to: view.leadingAnchor, ...