【发布时间】:2021-11-28 21:39:58
【问题描述】:
我正在制作一个聊天应用程序,我想添加一个功能,如果用户在两颗星 (*) 之间键入文本,两颗星之间的文本 bold。
例如,如果用户键入消息为*this is bold* and this is not,则星号之间的消息是粗体,如果不是粗体,则星外的消息。
我无法理解这样做的逻辑。我目前写的代码是:
String[] boldChecker = chatMessage.message.split("\\*");
for (int i = 0; boldChecker.length > i ; i++){
if ((i % 2) == 0) {
//is even and not bold
Log.d("boldArea - No",boldChecker[i]);
} else {
//is odd and bold
Log.d("boldArea - Yes",boldChecker[i]);
}
}
这里的chatmessage.message 是用户输入的消息。我唯一知道的是要将文本设置为粗体,我需要使用html.fromHtml(<b>bold text</b>)。
【问题讨论】:
-
请尝试使用正则表达式,这是 Java SE8 (docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)
标签: java android text formatting logic