zoukankan      html  css  js  c++  java
  • swift检测字符串是否在数组字符串中

    https://www.jianshu.com/p/56da83a4e0ab  

    /// 检测到敏感词标红

        private func richTextInputChange(text: NSMutableAttributedString,word: String) -> NSMutableAttributedString {

            let range = (text.string as NSString).range(of: word)

            return applyRichTextInputChange(text: text, word: word, range: range, last: range)

        }

        

        private func applyRichTextInputChange(text: NSMutableAttributedString,word: String,range: NSRange,last: NSRange) -> NSMutableAttributedString {

            if range.location != NSNotFound {

                text.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.State.fail, range: range)

                text.addAttribute(NSAttributedString.Key.font, value: 15.yp_font, range: range)

                let start = last.location + last.length

                let end = text.string.count+1 - start

                let stringRange = NSRange(location: start, length: end)

                let newString = text.string as NSString

                let newRange = newString.range(of: word, options: [], range: stringRange)

                let _ = applyRichTextInputChange(text: text, word: word, range: newRange, last: range)

            }

            return text

        }

    第二种方法

    extension YPFastRecruitHeaderView {

        /// 检查是否包含敏感词

        func contentHasSensitiveWord(textString: String){

            let words = YPFastIssueCofigWordModel.shared?.thesaurusList ?? []

            if let _ = words.first(where: {textString.contains($0)}) {

                contentHasSensitive.accept(true)

            }else{

                contentHasSensitive.accept(false)

            }

        }

        

        /// 检测到敏感词标红

        func richTextInputChange(text: NSMutableAttributedString,word: String) -> NSMutableAttributedString {

            return textRegex(pattern: word, attributeString: text, color: UIColor.State.fail)

        }

            

        // 1.匹配纯文本

        func textRegex(pattern: String,

                       attributeString: NSMutableAttributedString,

                       color: UIColor) -> NSMutableAttributedString{

            

            //富文本contentAttributeString

            let content = attributeString.string

            do {

                // 1.1.定义规则

                //let pattern = "ben"

                // 1.2.创建正则表达式对象

                let regex = try NSRegularExpression(pattern: pattern, options: NSRegularExpression.Options.caseInsensitive)

                // 1.3.开始匹配

                let res = regex.matches(in: content, options: NSRegularExpression.MatchingOptions(rawValue: 0), range: NSMakeRange(0, content.count))

                

                for checkingRes in res{

                    //设置字体颜色

                    attributeString.addAttribute(NSAttributedString.Key.foregroundColor, value: color,range: checkingRes.range)

                }

                return attributeString

                

            } catch {

                

                print(error)

            }

            return attributeString

        }

    }

  • 相关阅读:
    Window上编译最新版libCef(Branch 2704)(转载)
    在hue 使用oozie sqoop 从mysql 导入hive 失败
    hive 支持更新
    基于Hadoop生态圈的数据仓库实践 —— 环境搭建(三)笔记
    修改CENTOS7的网卡名(将网卡ens33修改为我们在centos6中常见的eth0)
    config network name
    Java服务部署规范(内部使用)
    MongoDB干货系列1-定期巡检之Mtools
    mongodb validation--像关系型数据库表去使用mongodb
    ntp 服务导致kudu集群不可用
  • 原文地址:https://www.cnblogs.com/supersr/p/15793000.html
Copyright © 2011-2022 走看看