Java 和 Android Studio 新手在尝试我的第一个项目时遇到了一个问题。我有一个名为“key”的字符串,我从用户(来自 Android Studio 模拟器)接收到它作为输入。我想把这个关键字符串分成独立的字母。所以,我做到了
String[] keys = key.split("");
这在我手动设置 key 时工作正常,但当我从模拟器接收到它作为输入时,它会在数组中添加一个额外的空字符串。因此,例如,如果我手动将键设置为“abcD”:
key = "abcD";
String[] keys = key.split(""); // keys = {"a", "b", "c", "D"}
太棒了,就应该这样。但是当我使这个 key 动态化并从模拟器接受它时;假设我在模拟器中键入相同的 key :
String[] keys = key.split(""); // keys = {"", "a", "b", "c", "D"}
是在键中设置的内容。
为什么会发生这种情况,我该如何摆脱这种情况?我可以假设这就是它的样子,并且可能只是从 1 而不是 0 开始索引键;但我仍然想了解为什么只有当我从模拟器收到此 key 时才会添加额外的“”?
谢谢!
最佳答案
您所拥有的应该有效。但是,如果提供的空间默认为……其他东西?您可以使用空格正则表达式:
str = "Hello I'm your String";
String[] splited = str.split("\\s+");
这将导致任意数量的连续空格将您的字符串拆分为标记。
关于java - 使用 .split (""从 Android Studio 收到的输入将 Java 中的字符串拆分为数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48504356/