检查拆分令牌是来自左侧还是右侧

时间:2019-05-29 19:07:02

标签: java

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

以下是有效的,应进行相应设置

,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);

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

1 个答案:

答案 0 :(得分:2)

以负第二个参数分割:

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

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

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