检查拆分令牌是从左边还是右边来的



>我需要在形式LastName,FirstName的字符串上设置变量termLast / termFirst,其中任何一部分都可以省略。

以下内容是有效的,应相应地设置,

,John
Smith,
Smith,John

至少一个令牌将始终存在。如果我这样做

String termWhole = null, termLast = null, termFirst = null;
String[] tokens = str.split(",");
termLast = tokens[0];
termFirst = (tokens.length > 1 ? tokens[1] : null);

这假设了正确的方向。关于双向解析有什么建议吗?目标是正确设置变量。

使用负第二个参数拆分:

String[] tokens = str.split(",", -1);

以便将空标记保留在字符串的末尾。然后:

termLast = tokens[0].isEmpty() ? null : tokens[0];
termFirst = tokens[1].isEmpty() ? null : tokens[1];

最新更新