QMUI_iOS icon indicating copy to clipboard operation
QMUI_iOS copied to clipboard

去除零宽字符崩溃

Open happy201993 opened this issue 1 year ago • 1 comments

Bug 表现 崩溃

截图 Bug 现场的界面截图,或者 Xcode 控制台的错误信息截图,有问题的代码截图 image

如何重现 运行下面的代码,崩溃 NSString *text = @"18‍22"; [text qmui_stringByReplacingPattern:@"[\u200b-\u200f\uFEFF\u202a-\u202e]" withString:@""];

预期的表现 不崩溃,并且能替换掉零宽字符

其他信息

  • 设备: 模拟器
  • iOS 版本: 所有版本
  • Xcode 版本: Xcode 15
  • QMUI 版本: [4.7.0]

happy201993 avatar Feb 07 '24 11:02 happy201993

QMUIStringPrivate 里对 -[NSStirng substringWithRange:] 处理 ComposedCharacterSequence 的保护,在正则表达式替换时反而是不需要的,这会导致你例子里的 replace 不符合预期,无法将“18‍22”(请直接复制)替换为“1822”,目前请先用以下文件替换你本地的同名文件,后续会修复。 QMUIStringPrivate.m.zip

MoLice avatar Feb 14 '24 11:02 MoLice