我正在开发一个简单的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(使用前将#替换为@)