我花了一个周末在一个个人项目上工作,却被困在这里。基本上,我需要转
[0;37m[33m o0===============================~o[0]o~====== =========================0o
进入
o0================================~o[0]o~============ ==================0o(现在只有这个文本是黄色的)
使用可可的正则表达式功能,我能够分别找到并捕获“[0;”、“37m”和“[33m”。“0;” 表示服务器希望删除任何以前的文本样式并返回到默认值,即黑色背景和白色文本。“37m”表示服务器希望将文本涂成白色(不知道为什么在这里,但这是服务器发送的内容)。最后的“33m”表示服务器希望文本为黄色。我的代码正确地查找、剥离和识别字符串中请求的颜色更改,但是我无法将这些颜色应用于我创建的 NSAttributedString。一旦我去掉最终字符串中的颜色序列,正则表达式搜索提供的范围就不再有效,什么是确定颜色变化应该应用于剥离字符串的有效方法?在此示例中,所有颜色代码都在开头提供,但在其他情况下,颜色代码可能位于中间以导致字符串更改颜色中线。如果我能找出合适的范围来分配请求的颜色,NSAttributedString 就可以处理这个问题。