【发布时间】:2015-06-09 05:20:03
【问题描述】:
我先为标题道歉,我不知道如何措辞。
我正在尝试在两个不同但相似的字符串中查找相似字符或字符集的索引。
- 字符串 A:
I <color=red><b>really</b></color> don't like spiders! - 字符串 B:
I really don't like spiders!
相关文本是相同的,但是A 有一些格式,而B 没有。我通过使用A 并运行正则表达式来查找并用空字符串替换所有<contents> 得到B。
现在假设我在B 中选择了索引为9 的字符,这将是单词don't 中的字母d。然后如何在字符串A 中确定don't 中的字母d 也需要选择,它的索引为35(如果我计算正确的话)?
编辑:可能是重要信息,这些标签用于 Unity 中的富文本。几乎在所有方面都与 HTML 非常相似。
【问题讨论】:
-
你应该检查 HtmlAgilityPack,你不应该在 html 中使用正则表达式
-
我建议您阅读整个单词,然后选择其中的字符。否则,两个字符串都没有对称性。您可以选择单词,然后选择字符。
-
为什么需要这样做?
-
你绝对需要解析那个。一旦你这样做了,区分文本和格式指令(你解析的,因此是元信息)并不难。
-
这实际上是 Unity 中一种奇怪的 BBCode 形式,类似于 HTML,但不兼容。我最初只想去除使用正则表达式非常容易的格式。虽然现在我意识到如果我想复制格式化文本,我需要在复制到剪贴板时找到两者的索引。这是关于“为什么”我需要它的冗长解释,主要是针对 Unity 非常有限的 UI 系统的解决方法。