首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Elton的技术分享博客

    NSRange 和 NSString

    NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构体 NSString *homebrew = @"Imperial India Pale Ale (IPA)"; // Starting at position 25, get 3 characters NSRange [homebrew substringWithRange:range]); 搜索字符串: NSString *homebrew = @"Imperial India Pale Ale (IPA)"; NSRange NSStringFromRange()方法,将一个NSRange返回一个NSString。 而另外一个函数NSRangeFromString()则是将NSString转换为NSRange 下面这个例子将从后向前反向搜索字符串: NSString *homebrew = @"Imperial India

    53330发布于 2021-01-22
  • 来自专栏Elton的技术分享博客

    使用NSRange获取范围

    如果你要获取一个字符串或者一个数组中的一个子集,那么使用NSRange会很方便的定义这个子集。 NSRange定义 Declaration: typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange ; 创建NSRange的方法定义 Declaration: NSRange NSMakeRange ( NSUInteger loc, NSUInteger len ); 例如获取一个数组的一个子集 : NSRange range = NSMakeRange(0, 5); NSArray *subArray = [self.states subarrayWithRange:range

    84030发布于 2021-01-22
  • 来自专栏iOS开发~

    iOS_Swift运用AttributedString实现可点击文案

    to specified type 'NSRange?' (aka 'Optional<_NSRange>') // 就是上面guard那句 产生的range的类型是:Range<String.Index>? // 而下面的addAttribute那句 添加.link的value需要的类型是:NSRange? 和 '完整字符串' 创建 NSRange? , 如下: let convertedRange = NSRange(range, in: attributedString.string) // NSRange?

    2.4K20编辑于 2022-07-20
  • 来自专栏mukekeheart的iOS之旅

    OC基础--字符串

    options:(NSStringCompareOptions)mask range:(NSRange)searchRange; //11.搜索(指定字符串,条件,范围,本地化) - (NSRange :(NSCharacterSet *)searchSet; //13.搜索(指定字符集合,条件) - (NSRange)rangeOfCharacterFromSet:(NSCharacterSet * - (NSRange)rangeOfComposedCharacterSequenceAtIndex:(NSUInteger)index; //16.用字符串的字符编码指定区域段查找位置 - (NSRange )range; //2.获取指定范围该行的范围 - (NSRange)lineRangeForRange:(NSRange)range; //////////分段////////// //3.指定范围 )range; //4.获取指定范围该段落的范围 - (NSRange)paragraphRangeForRange:(NSRange)range; //////////字符串分行,分段/////

    1.2K40发布于 2020-09-07
  • 来自专栏一“技”之长

    iOS中第三方有序字典框架——M13OrderedDictionary

    )range; - (void)removeEntryWithKey:(M13GenericType(KeyType, id<NSCopying>))key inRange:(NSRange)range (NSDictionary<KeyType, ObjectType> *) *)orderedEntries inRange:(NSRange)range2; - (void)replaceEntriesInRange:(NSRange)range withEntriesFromOrderedDictionary:(M13OrderedDictionary M13Generics(KeyType, ObjectType) *)dictionary inRange:(NSRange)range2; - (void) replaceEntriesInRange:(NSRange)range withObjectsFromArray:(NSArray M13Generics(ObjectType) *

    2.8K20发布于 2018-08-15
  • 来自专栏君赏技术博客

    【已解决】怎么获取字符串中相同字符串第N 个所在的位置

    - (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToSearch searchString 这个参数是我们需要查找的字符串 mask typedefNS_OPTIONS NSCaseInsensitiveSearch 和 NSAnchoredSearch }; rangeOfReceiverToSearch 需要搜索在源字符串所在的范围 例子方法 - (NSRange (BOOL)isEqualTrue:(NSString *)findString atIndedx:(NSUInteger)index compareRange:(NSRange )compareRange { NSRange findRange = [self rangeOfString:findString

    3.1K20发布于 2018-09-07
  • 来自专栏iOS底层原理

    iOS - 记录bugly一次崩溃

    NSRangeException NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds 二·初步分析 报错的超类属于NSRangeException -> NSRange { NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string]; NSRange range = NSMakeRange(0, attrStr.length); } 回到第一点的NSRangeException 可以定位到 NSRange range = NSMakeRange ; NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string]; NSRange } NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc] initWithString:string]; NSRange

    2K20发布于 2021-11-09
  • 来自专栏游戏杂谈

    Javascript与Objective-C 字符串与数组的方法类比

    NSUInteger)index concat(string) - (NSString *)stringByAppendingString:(NSString *)aString indexOf(string) - (NSRange )rangeOfString:(NSString *)aString lastIndexOf(string) - (NSRange)rangeOfString:(NSString *)aString options componentsSeparatedByString:(NSString *)separator substring(startIndex) - (NSString *)substringWithRange:(NSRange

    80820发布于 2018-11-19
  • 来自专栏全栈程序员必看

    万方数据知识平台 TFHpple +Xpath解析[通俗易懂]

    for (TFHppleElement *tmp in _arry) { NSString * string =[tmp raw]; NSRange range; // NSRange range2; range = [string rangeOfString:@"
    "]; string arry { for (TFHppleElement *tmp in _arry) { NSString * string =[tmp raw]; NSRange range; NSRange range2; range = [string rangeOfString:@""]; string = [string

    39120编辑于 2022-07-07
  • 来自专栏一“技”之长

    iOS中UITextView方法解读 原

    textColor; 设置文本颜色 @property(nonatomic) NSTextAlignment textAlignment;  设置文本对齐模式 @property(nonatomic) NSRange property(nonatomic,copy) NSDictionary *typingAttributes; 设置属性字符串文本属性字典 - (void)scrollRangeToVisible:(NSRange (UITextView *)textView; 结束编辑时触发的方法 - (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange textView; 选中内容改变触发的方法 - (BOOL)textView:(UITextView *)textView shouldInteractWithURL:(NSURL *)URL inRange:(NSRange

    1.3K40发布于 2018-08-16
  • 来自专栏iOS开发攻城狮的集散地

    Swift 小仿微博列表

    \]" //表情匹配 [爱心] 富文本是由原始字符串经过一系列的正则匹配到目标字符串后,再经过一系列的字符串高亮、删除、替换等处理得到的 注意:每一个匹配项完成字符串处理后可能会改变原有字符串的NSRange 最大字符 截取位置 var cutoffLocation = KTitleLengthMax //图标+描述 替换HTTP链接 let urlRanges:[NSRange attributedString.length) //图片替换表情文字 attributedString.replaceCharacters(in: NSRange matches(in:title, options:[], range: NSRange(location: 0, length: NSAttributedString(string: title).length )) // 2.遍历结果 数组 var ranges = [NSRange]() for res in results!

    1.8K30发布于 2019-07-28
  • 来自专栏全栈程序员必看

    iOS字符串分割常用方法

    NSLog(@”%@”,str); 输出结果:12hh4dlggghhdlrt 2.通过range分割字符串 NSString *str=@”0123456&my_type=\”dlrthh “; NSRange = [str substringToIndex:range.location]; NSLog(@”%@”,subStr); 输出结果:0123456 3.在某个range中查找字符串 – (NSRange )rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask range:(NSRange)searchRange 例如 Foo2.txt < Foo7.txt < Foo25.txt NSString *str=@”0123456&my_type=\”dlrthhkkll\” “; NSRange range 之后的range range.location += range.length; range.length = [str length] – range.location; NSRange

    2.3K30编辑于 2022-07-01
  • 来自专栏我的博客

    Objcetive-c基础知识

    Foundation Kit基础知识 1.范围作用 NSRange typedef struct _NSRange { unsigned int location; unsigned int length ; } NSRange; 使用:location是开始位置,length是元素个数;通常在字符串范围或者数组使用 创建NSRange 1.1)直接赋值给字段(range.location = 12

    862100发布于 2018-05-08
  • 来自专栏一“技”之长

    Objective-C中NSArray类的解读

    /在一定范围内 获取与给定元素相同的元素在数组中的最小下标值 - (NSUInteger)indexOfObjectIdenticalTo:(ObjectType)anObject inRange:(NSRange sortedArrayUsingSelector:(SEL)comparator; //获取数组一定范围的子数组 - (NSArray<ObjectType> *)subarrayWithRange:(NSRange //删除所有元素 - (void)removeAllObjects; //在一定范围内删除元素 - (void)removeObject:(ObjectType)anObject inRange:(NSRange )range; //替换一组元素 - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray:(NSArray<ObjectType > *)otherArray range:(NSRange)otherRange; //替换一组元素 - (void)replaceObjectsInRange:(NSRange)range withObjectsFromArray

    1.8K20发布于 2018-08-15
  • 来自专栏清墨_iOS分享

    iOS 之-富文本 (NSAttributedString)

    retain) NSMutableString *mutableString; - (void)addAttribute:(NSString *)name value:(id)value range:(NSRange :(NSString *)name range:(NSRange)range; - (void)replaceCharactersInRange:(NSRange)range withAttributedString ; - (void)appendAttributedString:(NSAttributedString *)attrString; - (void)deleteCharactersInRange:(NSRange - (void)endEditing; @end 其中常用的: 为某一范围内文字设置多个属性 - (void)setAttributes:(NSDictionary *)attrs range:(NSRange - (void)addAttributes:(NSDictionary *)attrs range:(NSRange)range; 移除某范围内的某个属性 - (void)removeAttribute

    3.5K60发布于 2018-05-07
  • 来自专栏落影的专栏

    小说阅读器的设计和实现

    4、分页计算 分页计算的核心是拿到NSAttributedString和pageSize,按照页面大小进行排版,分别得到每页的字符串范围,最终以NSRange的方式返回,举例: ( "NSRange : {0, 34}", "NSRange: {34, 36}", "NSRange: {70, 40}", "NSRange: {110, 39}", "NSRange: {149, 35}", "NSRange: {184, 40}", "NSRange: {224, 37}", "NSRange: {261, 38}", "NSRange 表示放字符直到区域填满 CFRange visiableRange = CTFrameGetVisibleStringRange(frameRef); // 获取当前可见的字符串区域 NSRange

    4.8K20发布于 2020-02-18
  • 来自专栏sktj

    IOS 改变字体样式 **

    , 22, nil) 14 string.addAttribute(kCTFontAttributeName as String, value:font, range:NSRange(location , 14, nil) 22 string.addAttribute(kCTFontAttributeName as String, value:fontValue, range: NSRange( 24 string.addAttribute(kCTUnderlineStyleAttributeName as String, value:NSNumber(value:1), range: NSRange

    2K30发布于 2019-07-10
  • 来自专栏编程语言

    iOS:键盘中文限制

    position){ if (text.length > _maxLength){ NSRange rangeIndex = [text rangeOfComposedCharacterSequenceAtIndex maxLength == 1){ textField.text = @""; }else{ NSRange

    78720发布于 2019-06-14
  • 来自专栏一“技”之长

    iOS中正则表达式的使用 原

    模式的方法: - (void)enumerateMatchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange 将所有匹配的结果返回 - (NSArray *)matchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange - (NSUInteger)numberOfMatchesInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange )range; 这个方法直接返回匹配到得范围,NSRange。 - (NSRange)rangeOfFirstMatchInString:(NSString *)string options:(NSMatchingOptions)options range:(NSRange

    90140发布于 2018-08-15
  • 来自专栏Chasays

    Objective-C 学习记录4

    NSString *str0 = @"中文my name is xuanyusong"; NSString *temp = @"is"; NSRange ons:<#(NSStringCompareOptions)#> range:<#(NSRange)#> stringByReplacingOccurrencesOfString:(NSString * )withString:(NSString *) options:(NSStringCompareOptions) range:(NSRange)

    53430发布于 2019-06-26
领券