我将尝试检查一个字符串是否包含来自Segoe MDL2 Assets字体的特定Unicode点。
我想要检查的Unicode值的示例为
虽然这样做可行,但我认为每次都要复制和粘贴我计划使用的每个值到if语句中相当低效。是否有更简单的方法?
编辑:
最终,我在我的数组中每个特殊字符后面放置了一个 ~,并像这样解析它。这样做有什么问题吗?
我想要检查的Unicode值的示例为
\uF14B
这是我获取值的位置
https://learn.microsoft.com/en-us/windows/uwp/design/style/segoe-ui-symbol-font
我应该如何检查一个字符串是否包含这些值之一?
我已经尝试过:
if (buttons[i].getText().contains("\uF14B")) {
buttons[i].setFont(new Font("Segoe MDL2 Assets", Font.PLAIN, 15 ));
}
虽然这样做可行,但我认为每次都要复制和粘贴我计划使用的每个值到if语句中相当低效。是否有更简单的方法?
编辑:
最终,我在我的数组中每个特殊字符后面放置了一个 ~,并像这样解析它。这样做有什么问题吗?
/** Creating the names of the buttons. */
String [] buttonNames = {
"Lsh", "Rsh", "Or", "Xor", "Not","And",
"\uE752~", "Mod", "CE", "C", "\uF149~", "\uE94A~",
"A", "B", "\uF14D~", "\uF14E~", "\uE94F~", "\uE947~",
"C", "D", "\uF14A~", "\uF14B~", "\uF14C~", "\uE949~",
"E", "F", "\uF14A~", "\uF14B~", "\uF14C~", "\uE948~",
"(", ")", "\uE94D~", "0", ".", "\uE94E~"
};
/** more code here */
if (buttons[i].getText().contains("~")) {
buttons[i].setFont(new Font("Segoe MDL2 Assets", Font.PLAIN, 15 ));
buttons[i].setText(buttons[i].getText().substring(0, buttons[i].getText().lastIndexOf('~')));
}
Matcher
来完成这个任务。 - Jojo NarteF1xx
系列字符并不是字体,甚至不是真正的“字符”,因为它没有分配的字形或含义。基本上,“私有使用”就是这样,任何人都可以将其用于任何目的。我认为一些网站使用相同的代码点来绘制随机图形符号,如线条、拐角和箭头,以帮助绘制他们的用户界面。 - markspace符号"。哪个数组?如果您在按钮文本中放置``字符,那么按钮不会看起来很奇怪吗? - Andreas