我正在寻找在 Kotlin 中用相应的不同字符替换多个不同字符的可能性。
\n作为一个例子,我在 PHP 中寻找与此类似的函数:
\nstr_replace(["\xc4\x81", "\xc4\x93", "\xc4\xab", "\xc5\x8d", "\xc5\xab"], ["a","e","i","o","u"], word)\nRun Code Online (Sandbox Code Playgroud)\n现在在 Kotlin 中,我只需调用 5 次相同的函数(对于每个声音),如下所示:
\nvar newWord = word.replace("\xc4\x81", "a")\nnewWord = word.replace("\xc4\x93", "e")\nnewWord = word.replace("\xc4\xab", "i")\nnewWord = word.replace("\xc5\x8d", "o")\nnewWord = word.replace("\xc5\xab", "u")\nRun Code Online (Sandbox Code Playgroud)\n如果我必须使用一系列单词而不仅仅是一个单词来执行此操作,那么这当然可能不是最好的选择。有没有办法做到这一点?
\n我正在尝试编写一个小的rpg,我决定将基础知识放入fxml文档(带有其项目的MenuBar)中。因此,现在我计划在单击菜单项(字符,库存和设备)时打开一个新窗口,这样我可以显示一个额外的窗口。因此,我想将每个菜单的标题设置为与MenuItem上显示的Text等效。当然,我可以为每个菜单项添加一个额外的方法,但是我正在寻找一种可能性,可以在该菜单项中触发事件的菜单项的ID,因此可以使用其getText方法来获取标记。有人可以帮我吗?
我尝试使用“ this”访问对象,并且还考虑过使用枚举将ID连接到枚举MenuName的对象,因此我只需要在方法中放入一个开关,从而创建菜单,但这也没有实现。不能解决,因为在那里我无法检查哪个ID被解雇了。因此,对于我的程序的那部分,它没有帮助。
这是我的控制器类中的代码
public class Controller {
@FXML
private void menuIsClickedDefault(ActionEvent event) throws Exception {
Stage secondStage = new Stage();
Parent a = FXMLLoader.load(getClass().getResource("menus.fxml"));
secondStage.setTitle(HERES_MY_PROBLEM);
secondStage.setScene(new Scene(a, 646, 400));
secondStage.initModality(Modality.APPLICATION_MODAL);
secondStage.show();
}
}
Run Code Online (Sandbox Code Playgroud)
这些是我的fxml对象:
<MenuItem fx:id="stats" mnemonicParsing="false" text="Statistics" />
<MenuItem fx:id="inv" mnemonicParsing="false" text="Inventory" />
<MenuItem fx:id="equip" mnemonicParsing="false" text="Equipment" />
Run Code Online (Sandbox Code Playgroud)
我还没有将方法集成到对象中,因为如果不解决问题就没有意义,并且我知道其余代码也可以工作,原因是设置方法类似。