将 emoji 替换为适当的 java 代码

2024-05-09

我正在开发一个简单的java程序,它可以接受这样的字符串:

⛔️????✋停止✋????⛔️ ????你违反了????????法律!????????????但是现在...????????????你

并将每个表情符号替换为适当的 java 字符。 (我不知道该怎么称呼他们)。

这是一个例子:

汽车表情符号:???? 将替换为:“\uD83D\uDE97”。

这允许我有一个字符串,例如

"I am a car: \uD83D\uDE97"

在Java源代码中, 让它看起来像这样:

所以问题是,如何自动找到字符串中的某个表情符号(例如,找到字符串中的每个红色汽车表情符号)并将其替换为适当的“Java 字符”?

编辑一:

没关系,事实证明非常简单。我可以这样做

string.replace("????","Java code");

为此,您应该使用以下方法:

公共字符串replaceAll(字符串正则表达式, 字符串替换)

See 文档 https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#replaceAll(java.lang.String,%20java.lang.String).

Example:

source
.replaceAll("????", "value")
.replaceAll("????", "nextValue")

更好的方法是使用现有的字符构建一个映射,并在每个字符中进行替换:

Map<String, String> mappedChars = new HashMap<>();
mappedChars.put("A", "valueForA");
mappedChars.put("B", "valueForB");

AtomicReference<String> value = new AtomicReference<>("A and B and C");

mappedChars
        .entrySet()
        .stream()
        .forEach(entry -> value.getAndUpdate(current -> current.replaceAll(entry.getKey(), entry.getValue())));

//valueForA and valueForB and C
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 emoji 替换为适当的 java 代码 的相关文章

随机推荐