java - 使用 .split (""从 Android Studio 收到的输入将 Java 中的字符串拆分为数组)

标签 java android android-emulator android-studio-3.0

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/

相关文章:

java - 单元测试 Struts

java - 如何在 MaterialCalendarView 中显示特定日期和时间的事件?

android - 如何处理 android 中 TabLayout 中的重叠 fragment ?

Android如何知道在任何情况下打开了哪个应用程序

android - Windows 上的 emulator.exe -help-audio-in 生成 "unknown option: -help-audio-in"

java - Android:正在保存铃声,但未设置为 Activity/默认铃声

java - 继承具有覆盖等效签名的方法

java - Apache Commons lang : What's difference between SerializationUtils. clone() 和 BeanUtils.cloneBean(),什么时候用哪个

用于 EditText 的 Android Material Design float 标签

java - 如何确定我的 Android 应用程序是否在 AVD 中运行