“004-034556”为例用
String#split()方法即可:
String string = "004-034556";String[] parts = string.split("-");String part1 = parts[0]; // 004String part2 = parts[1]; // 034556请注意,这需要一个正则表达式,因此请记住在必要时转义特殊字符。
_ 12个具有特殊含义的字符:反斜杠
,插入符号^,美元符号
$,句点或点
.,竖线或竖线符号
|,问号
?,星号或星号
*,加号
+,左括号
(,右括号
),以及方括号
[,大括号
{,这些特殊字符通常称为“元字符”。所以,如果你想在如期间分
/点.的意思是“ 任何字符在正则表达式”,请使用反斜杠逃脱个别特殊字符,像这样
split("\."),或使用字符类[]来表示文字字符
(S)像这样
split("[.]"),或使用Pattern#quote()以这样逃脱整个字符串
split(Pattern.quote("."))。String[] parts = string.split(Pattern.quote(".")); // Split on period.要预先测试字符串是否包含某些字符,只需使用
String#contains()。
if (string.contains("-")) { // Split it.} else { throw new IllegalArgumentException("String " + string + " does not contain -");}注意,这不带正则表达式。为此,请
String#matches()改用。
如果您想在结果部分中保留分割字符,请使用
正向环视。如果您希望分割字符以左手结尾,请在模式前面加上
?<=group 作为前缀。
String string = "004-034556";String[] parts = string.split("(?<=-)");String part1 = parts[0]; // 004-String part2 = parts[1]; // 034556如果您希望分割字符以右侧结尾,请在
?=图案前面加上group 作为前缀,以正向使用。
String string = "004-034556";String[] parts = string.split("(?=-)");String part1 = parts[0]; // 004String part2 = parts[1]; // -034556如果您想限制生成零件的数量,则可以提供所需的数量作为
split()method的第二个参数。
String string = "004-034556-42";String[] parts = string.split("-", 2);String part1 = parts[0]; // 004String part2 = parts[1]; // 034556-42


