【发布时间】:2019-02-22 13:57:00
【问题描述】:
我想将一些字符串放在一起,然后再将它们拆分。我想用作字符串组合点的标记的字符也应该允许出现在字符串中。
示例:
我们想向其他人发送消息。不仅要有消息本身,还要有发送者和接收者的一些信息。
所以我们有三个字符串:发送者、接收者和文本。我使用$ 作为分隔符。这意味着合并的字符串将具有以下语法:sender$receiver$text
只要发送者、接收者或文本中没有$,一切都很好,再次拆分字符串时不会出现问题。但是当其中一个字符串中有$时,会给出一个意想不到的输出。
如果不创建不允许使用$ 的规则,如何避免此问题?
【问题讨论】:
-
为什么不使用字段中禁止使用的字符?
-
$ 只是一个例子。我根本不想禁止任何角色
-
您可以使用您将禁止的字符组合进行分组,例如“!@#”,因此您合并的字符串将是发件人!@#receiver!@#text
-
如果你在发送端和接收端都处理字符串,那么你可以先在文本中转义分隔符,“I made $100” -> “I made \$100”
-
你可以序列化它,然后在接收端反序列化它。您可以为此使用 JSON。
标签: java string parsing split delimiter