#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreGraphics/CoreGraphics.h>
@interface NSString (ZXLExtension)
/**
链接正则检测结果
@return 检测结果
*/
- (NSArray<NSTextCheckingResult *> *)detectorTypeLinkCheck;
/**
字符串中是否包含Emoji表情
@return 判断结果
*/
- (BOOL)stringContainsEmoji;
/**
删除表情后的字符串
@return 字符串
*/
- (NSString *)disableEmoji;
/**
名字判断
@return 判断结果
*/
- (BOOL)isVaildRealName;
/**
判断字符串中全是数字
@return 判断结果
*/
-(BOOL)isNumber;
/**
字符串是否是一个手机号 (简单判断只判断字符串中 都是数字和11位 ,复杂的判断就是号段判断。)
(注意复杂判断中号段有可能不准)
@return 判断结果
*/
-(BOOL)isPhoneNumber:(BOOL)bSimple;
/**
邮箱判断
@return 判断结果
*/
-(BOOL)isEmail;
/**
base64 编码
@return 编码结果
*/
- (NSString *)base64encode;
/**
base64 解码
@return 解码结果
*/
- (NSString *)base64decode;
/**
UTF8编码
@return 编码结果
*/
- (NSString *)encodeStringUTF8;
/**
UTF8解码
@return 解码结果
*/
- (NSString *)decodeStringUTF8;
/**
md5 编码
@return 编码结果
*/
- (NSString *)decodeStringMD5;
/**
字符串转数组
@return 数组
*/
- (NSArray *)array;
/**
字符串转字典
@return 字典
*/
- (NSDictionary *)dictionary;
/**
字符串修剪
@param set NSCharacterSet
[NSCharacterSet controlCharacterSet]; //控制符的字符集
[NSCharacterSet whitespaceCharacterSet]; //空格的字符集 (可以去掉前后多余的空格)
[NSCharacterSet whitespaceAndNewlineCharacterSet]; //空格和换行符的字符集
[NSCharacterSet decimalDigitCharacterSet]; //十进制数字的字符集
[NSCharacterSet letterCharacterSet]; //字母的字符集
[NSCharacterSet lowercaseLetterCharacterSet]; //小写字母的字符集
[NSCharacterSet uppercaseLetterCharacterSet]; //大写字母的字符集
[NSCharacterSet nonBaseCharacterSet]; //非基础的字符集
[NSCharacterSet alphanumericCharacterSet]; //字母和数字的字符集
[NSCharacterSet decomposableCharacterSet]; //可分解
[NSCharacterSet illegalCharacterSet]; //非法的字符集
[NSCharacterSet punctuationCharacterSet]; //标点的字符集
[NSCharacterSet capitalizedLetterCharacterSet]; //首字母大写的字符集
[NSCharacterSet symbolCharacterSet]; //符号的字符集
[NSCharacterSet newlineCharacterSet]; //换行符的字符集
@return 修剪过的字符串
*/
-(NSString *)trimmingCharactersInSet:(NSCharacterSet *)set;
/**
根据当前时间戳生成的随机数字符串
@return 随机数字符串
*/
+ (NSString *)randomNumber;
/**
获取文件的MD5 值
@param filePath 文件路径
@return MD值
*/
+ (NSString *)fileMd5HashCreateWithPath:(NSString *)filePath;
/**
字符串区域计算
@param string 字符串
@param width 展示区间宽度
@param font 字体大小
@return 区间大小
*/
+(CGSize)stringSizeWith:(NSString *)string width:(CGFloat)width font:(UIFont *)font;
@end
相关推荐
潜行游戏设计:核心机制与关卡设计解析
潜行游戏作为动作游戏的重要分支,通过视觉遮蔽、声音传播和AI行为树等复杂系统,为玩家提供独特的策略体验。视觉隐蔽系统采用视野锥和光照值的双重判定,声学传播模型模拟距离衰减和材质穿透,而敌人AI行为树则包含巡逻、警戒和团队协作等状态节点。这些技术不仅提升了游戏的真实感和挑战性,还在《合金装备》《刺客信条》等经典作品中得到广泛应用。潜行游戏的关卡设计强调多路径拓扑结构和环境叙事元素,通过沙漏模型和动态难度调节,平衡自由度和开发成本。未来,基于ML的适应性AI和物理模拟的隐蔽系统将成为创新方向。
iOS开发-------文字表情(NSAttributeString 属性字符串 以及 NSRegularExpression 正则表达类)
之前,无论是微博还是QQ,从网络请求下来的字符串总会看到[大笑]类似的文字表情,一直无法解析,因为之前也一直想解析,但是一直被正则表达式所困,因为不会啊,今天刚好学到了这一部分,为了强烈对比一下,第一张是处理前,第二张是处理后。 首先正则表达式,楼主依旧表示不会,但是在工作中想用正则表达式的时候,可以让学网页的同胞们求救,作为程序员只要稍微能看得懂即可,推荐一
STM32 LwIP协议栈优化:从TCP延迟10ms降至1ms的内存配置手册
摘要: 本文针对STM32嵌入式开发中LwIP TCP通信的高延迟问题(默认配置下延迟达10~20ms),提出纯软件优化方案,通过调整内存配置与TCP参数将延迟降至1ms。核心问题包括内存池不足、pbuf分配低效及Nagle算法拖累,优化步骤包括: 内存池扩容:增大MEMP_NUM_TCP_PCB至10、PBUF_POOL_SIZE至32,避免资源竞争; pbuf静态池分配:采用2048字节大块缓冲区匹配DMA传输,减少分块与拷贝; 关闭Nagle算法:设置TCP_NODELAY=1,禁用延迟确认以加速小包
iOS输入限制表情输入、最大字符、正则过滤
平时输入会有输入限制,1.最大字符数量2.限制特殊字符:表情包、数字中文、大小写3.空格换行符等特殊字符一般的解决办法在输入时或输入完成时(根据业务需要),设置正则过滤就可以。常用正则表达式(通用字符过滤)注意,今天说iOS的输入限制,很离谱,以下为一些坑点:1.明确是需要显示还是直接不允许输入(限制输入打不出来,可以打出来但超过后提示);2.边输入边查询还是输入完成后再查询。(这些都是需求定义类的,注意提前划分);3.用正则的时候注意连续字符输入;
HDRP shader 获取阴影(Custom Pass)
Unity:2021.3.0f1 HDRP:12.1.6
抖音视频数据抓取
最近经常有人问我抓取抖音视频的数据,问我一些很小白的问题,算法给他也不会用。 还是先抓包,获取需要的接口和参数,相关的算法在其它文章里面有描述。 搜索个视频看看 查看抓的包信息: 可以看到,这里是post请求...
iOS URL 正则
如果判断一个整体string是否是一个URL,可以直接用URL来创建一个实例,当然也可以用下面的正则判断: func checkURL(_ url: String) -> Bool { let pattern = "(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=...
Jetson Orin NX深度学习环境配置全攻略:从JetPack到PyTorch避坑指南
本文提供Jetson Orin NX深度学习环境配置的完整避坑指南。重点讲解如何正确利用JetPack SDK作为系统基石,使用Miniforge管理Python环境,并安装与CUDA版本严格匹配的PyTorch特供版本。通过详细的步骤和验证方法,帮助开发者在ARM架构的嵌入式平台上高效搭建稳定的AI开发工作站。
iOS小demo之判断字符串你是否是邮箱
-(BOOL )isValidateEmail:( NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}" ; NSPredicate *emailTest = [ NSPredicate predicateWithFormat
关于esp32蓝牙模块的使用——esp32学习笔记
关于esp32蓝牙模块的使用——esp32学习笔记 零、前言 esp32自带蓝牙模块可以让我们进行蓝牙连接并进行数据交换 一、经典蓝牙BT 首先来编写代码,经典蓝牙的使用非常简单,首先声明使用了BluetoothSerial这个库,然后使用SerialBT.begin函数设置蓝牙的名字,再然后就是设置配对码,由于这里没有用到配对码,所以我将注释掉。当配对成功我们就使用printf函数打印出蓝牙配对成功。 #include <Arduino.h> #include <BluetoothSer
工程级 RK3588 YOLOv5 Android 架构拆解:NPU 量化优化 + 多线程推理 + 跟踪算法源码
本文将带你完成一个完整的AI视觉项目:在搭载RK3588芯片的Android开发板上运行实时目标检测与跟踪应用。实战目标:成功运行官方YOLOV5摄像头实时检测案例技术深度:深入理解RKNN开发框架和源码实现核心技能:掌握NPU推理、多线程并发、目标跟踪等关键技术。
iOS使用谓词配合正则表达式判断字符是否是表情
NSString *regexString = @"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\\u2026\\u2022\\u20ac\r\n]"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCH...
增益调度控制 —— 理论、案例与交互式 GUI 实现
本文详细介绍了增益调度控制的基本原理、数学模型及公式推导,探讨了该方法在适应非线性系统和大范围工作条件下的优势与局限。通过航空飞行控制、发动机推力控制以及化工过程控制三个典型案例,我们展示了如何利用调度变量动态调整控制增益,从而使得控制系统在各个工作点均能达到优良性能。为帮助工程师和研究者更直观地理解并验证增益调度控制的实际效果,本文提供了一套基于 Python 与 PyQt6 的交互式 GUI 控制系统代码。用户不仅可以实时查看仿真数据,还能通过在线调节参数直观体验调度控制的优势。
IOS开发微博中涉及到的一些正则表达式(表情,话题,链接,@)
// 需要正则的字符串 NSString *str = @"#呵呵呵#[偷笑] http://test.com/blah_blah"; // 表情的规则 NSString *emotionPattern = @"\\[[0-9a-zA-Z\\u4e00-\\u9fa5]+\\]"; // @的规则 NSString *atPattern = @"@[0-9a
Devexpress16.2.6破解工具
Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
iOS巅峰之iOS表情转义字符使用
下面的表情可直接用右边的转义字符生成 \ue415就是表情编码。更多的表情如下: \ue415 \ue056 \ue057 \ue414 \ue405 \ue106 \ue418 \ue417 \ue40d \ue40a
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
iOS开发进阶 - 富文本正则替换表情
移动端访问不佳,请访问我的个人博客 最近写项目需要用到富文本解析字符串显示表情,下面是我使用正则替换实现富文本的方式,希望能帮助到大家 先上效果图和demo地址实现过程中需要用到的知识点 NSRegularExpression(正则表达式) NSMutableAttributedString(用来显示富文本的string) 废话不多说,直接贴代码:import UIKitstruct WCLEm
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
【iOS】判断字符串是否是url及从字符串中提取url
1、判断字符串是否是url - (BOOL)checkUrlWithString:(NSString *)url { if(url.length < 1) return NO; if (url.length>4 && [[url substringToIndex:4] isEqualToString:@"www."]) { ...
iOS自带判断字符串中是否包含url,并且可点击
创建时间:2017年10月11日(星期三) 中午11:41 | 分类:未分类 | 字数:2991 | 另存为... | 打印 | 添加到日历要找到一段字符串中的网址位置,可以用正则表达式,正则表达式比较麻烦,苹果有自带的API:NSDataDetector用方法+ (nullable NSDataDetector *)dataDetectorWithTypes:(NSTextCheckingTy...
iOS NSString使用NSPredicate匹配正则表达式
pragma - mark 只能为中文 -(BOOL)onlyInputChineseCharacters:(NSString*)string{ NSString *inputString = @"[\u4e00-\u9fa5]+"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",inputString]; BOOL inputString = [predicate eval
给NSString扩展一个验证邮箱的功能
Main.m #import #import "ExtensionString.h" //导入是为了让当前类知道一些扩展的功能 #import "NSString+Extension.h" int main(int argc, const char * argv[]) { //不可以给NSString添加子类 // ExtensionString *string = @"12
iOS 正则处理 NSString,NSAttributedString
处理字符串 NSString * regExpStr = @"(\\d{3})\\d{4}(\\d{0,4})"; NSString *resultString = [self stringByReplacingOccurrencesOfRegex:regExpStr withString:@"$1****$2"]; return resultString; 处理属性字符串
iOS 判断字符串是不是URL
- (BOOL)isValidUrl { NSString *regex =@"[a-zA-z]+://[^\\s]*"; NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex]; return [urlTest evaluateWithObject:self]; }
自动获取字符串中的网页,邮箱等链接,点击事件
最近开发的项目中有个扫描二维码的功能,是集成的zxing,也做客一些优化的地方 zxing扫描二维码和识别图片二维码及其优化策略 Zxing界面优化(竖屏、拉伸处理、扫描框大小和扫描线移动) 对扫描的结果做了两个处理。1.是扫描的结果是以http://开头的直接打开浏览器执行相应跳转。2.否则执行其他操作 但是今天看见一个二维码,于是用自己实现的扫二维码功能扫了一下,然后蛋疼的事
iOS 字符串筛选手机号
//手机号码验证 - (BOOL) validateMobile:(NSString *)mobile{ //手机号以13, 15,18开头,八个 \d 数字字符 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9])|(14[0,0-9])|(17[0,0-9]))\\d{8}$"; NSPredicat
IOS用正则表达式验证textfield输入的内容是否合法
iphone 4.0以后就开始支持正则表达式的使用了,在ios4.0中正则表达式的使用是使用NSRegularExpression类来调用。 1. 下面一个简单的使用正则表达式的一个例子:NSRegularExpression类 -(void)parseString{ //组装一个字符串,需要把里面的网址解析出来 NSString*u...
JAVA实现过滤掉文本中的表情
比如我们要把微信昵称存入数据库,就需要把表情给过滤掉。 package com.zjr.common.utils; import org.apache.commons.lang3.StringUtils; public class EmojiFilter { /** * 检测是否有emoji字符 * * @param source * @return 一旦含有就抛出
179



被折叠的 条评论
为什么被折叠?



