从发送到AWS / Amazon SQS的消息中删除无效字符

上下文: 当将消息传递到sqsClient.sendMessage(...)的参数中时,Amazon SQS会接受的字符范围受到限制。 (提到的here)。

从以上链接摘录:

A message can include only XML,JSON,and unformatted text. The following Unicode characters are allowed:

#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF

Any characters not included in this list will be rejected.

问题: 现在,我们知道在消息json中存在令人反感的字符,该消息作为消息发送,因此我们通过 message_json.replaceAll("\uffff","");,可以正常使用。 (其中“ \ uffff”是xFFFF / U + FFFF字符的Java表示形式。)

但是,我不仅要对xFFFF字符进行处理,还希望对上述整个范围(#x9 | #xA | #xD | #x20 to #xD7FF | #xE000 to #xFFFD | #x10000 to #x10FFFF)执行此操作,但是如何构造一个可以接受字符范围而不在每个字符上运行replace的子句一个?

tkfkdgody 回答:从发送到AWS / Amazon SQS的消息中删除无效字符

实际上,答案就在我眼前。由于某种原因,我假设正则表达式的字符类将不接受[\ufffd-\uffff]

中的这些转义字符,例如message_json.replaceAll("[\ufffd-\uffff]"," ");

这适用于我的情况。

本文链接:https://www.f2er.com/3121132.html

大家都在问