Я пытаюсь проверить, содержит ли строка определенную точку юникода из шрифта Segoe MDL2 Assets.
Пример значения Unicode, которое я хочу проверить, это
\uF14B
Вот откуда я беру свои значения
https://docs.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('~')));
}