iOS 将一串字符里面的某个字符全部标志出来

    NSMutableString * mutStr = [NSMutableString stringWithString:@"aaabbbbaaaccc"];
    NSString * str = @"a";
    NSRange range = {0,mutStr.length};
    [mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
    [mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range];

    NSMutableAttributedString * attr = [[NSMutableAttributedString alloc]initWithString:mutStr];
    NSError * error;
    NSRegularExpression * express = [NSRegularExpression regularExpressionWithPattern:str options:NSRegularExpressionCaseInsensitive error:&error];
    NSArray<NSTextCheckingResult *> * result = [express matchesInString:mutStr options:0 range:range];
    for (NSTextCheckingResult * match in result) {
        NSRange range = [match range];
        [attr addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];
    }

    UILabel * lbl = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 200, 40)];
    [self.view addSubview:lbl];
    lbl.textColor = [UIColor blueColor];
    lbl.attributedText = attr;

  

时间: 2024-10-27 18:15:29

iOS 将一串字符里面的某个字符全部标志出来的相关文章

猫猫学IOS(二十七)UI之iOSUIKit字符属性NSAttributedString概述

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents UIKit字符属性NSAttributedString概述 字符属性 字符属性可以应用于 attributed string 的文本中. NSString *const NSFontAttributeName;(字体) NSString *const NSParagraphStyleAttributeName;(段落) NSS

将一个字串中含有全角的数字字符、字母、空格或&#39;%+-()&#39;字符转换为相应半角字符

/** * 将一个字串中含有全角的数字字符.字母.空格或'%+-()'字符转换为相应半角字符 * * @access public * @param string $str 待转换字串 * * @return string $str 处理后字串 */ function make_semiangle($str) { $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' =>

ios 开发中获取字符串中重复的字符的rang

iOS 开发中经常会遇到处理字符串的问题,对于一个字符串经常会遇见里面包含重复的字符需要对重复的字符进行处理,下面的代码就是对重复字符进行处理的操作,具体代码如下所示: /** * 返回重复字符的location * * @param text 初始化的字符串 * @param findText 查找的字符 * * @return 返回重复字符的location */ - (NSMutableArray *)getRangeStr:(NSString *)text findText:(NSStr

java面试题:如果一串字符如&quot;aaaabbc中国1512&quot;要分别统计英文字符的数量,中文字符的数量,和数字字符的数量,假设字符中没有中文字符、英文字符、数字字符之外的其他特殊字符。

package com.swift; public class TotalNumber_String { public static void main(String[] args) { /* * 如果一串字符如"aaaabbc中国1512"要分别统计英文字符的数量,中文字符的数量,和数字字符的数量, * 假设字符中没有中文字符.英文字符.数字字符之外的其他特殊字符. */ String str="aaaabbc中国1512"; int engishCount =

JS取出特定字符前后的字符串,针对一串自负里面的单个字符前后的字符串

//针对一串自负里面的单个字符前后的字符串<!doctype html> <html> <head> <meta charset="utf-8"> <title>分割字符串</title> </head> <script type="text/javascript"> /* string 字符串; str 指定字符; split(),用于把一个字符串分割成字符串数组; s

IOS开发语言Swift入门连载---字符串和字符

字符串和字符 String是例如"hello, world","海贼王" 这样的有序的Character (字符)类型的值的集合,通过String 类型来表示. Swift的String 和Character 类型提供了一个快速的,兼容 Unicode 的方式来处理代码中的文本信息. 创建和操作字符串的语法与 C 语言中字符串操作相似,轻量并且易读. 字符串连接操作只需要简单地通过+号将两个字符串相连即可. 与 Swift 中其他值一样,能否更改字符串的值,取决于其

C语言字符型数据(字符)

字符型数据的表示 字符型数据就是字符. 字符型数据是用单引号括起来的一个字符.例如: 'a'.'b'.'='.'+'.'?' 都是合法字符型数据. 在C语言中,字符型数据有以下特点: 字符型数据只能用单引号括起来,不能用双引号或其它括号. 字符型数据只能是单个字符,不能是字符串. 字符可以是字符集中任意字符.但数字被定义为字符型之后就不能参与数值运算.如'5'和5 是不同的.'5'是字符型数据,不能参与运算. 转义字符 转义字符是一种特殊的字符.转义字符以反斜线"\"开头,后跟一个或几

java中关于编码的问题(字符转换流及字符缓冲流 )

上次我们使用的是字节流,还有一种方式就是字符流,上次说过如何分辨使用哪种流,如果记事本可以读懂则使用字符流,否则使用字节流.使用字符流就需要牵扯到编码的问题,下面给出一种转化流的格式. OutputStreamWriter OutputStreamWriter(OutputStream os):默认编码,GBK OutputStreamWriter(OutputStream os,String charsetName):指定编码.InputStreamReader InputStreamRead

java小练习:输入一个字符,判断该字符是数字?英文字母?还是其他字符

package practiceGO; import java.util.Scanner; /*  * 3.输入一个字符,判断该字符是数字?英文字母?还是其他字符  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入一个字符:"); char ch = sc.next().charAt(0);

从字符数组中删除字符

/*实现程序的功能:从字符数组s中删除存放在c中的字符.*/ #include <stdio.h> int main(int argc, const char *argv[]) { char s[80],c; printf("请输入一个字符串\n"); gets(s); printf("请输入一个字符\n"); scanf("%c",&c); //遍历字符串 for (int i = 0; s[i] != '\0'; i++)