在java中如何拆分一个字符串?如何使用split方法?
“004-034556”为例用String#split()
方法即可:
String string = "004-034556";
String[] parts = string.split("-");
String part1 = parts[0]; // 004
String 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]; // 004
String part2 = parts[1]; // -034556
如果您想限制生成零件的数量,则可以提供所需的数量作为split()
method的第二个参数。
String string = "004-034556-42";
String[] parts = string.split("-", 2);
String part1 = parts[0]; // 004
String part2 = parts[1]; // 034556-42
我想通过分隔符将字符串分成两个字符串: 这意味着第一个字符串将包含之前的字符,第二个字符串将包括
我有一个字符串,,我想把它分成两个字符串: 这意味着第一个字符串将包含之前的字符,第二个字符串将包含之后的字符。我还想检查字符串中是否有。如果没有,我会抛出一个异常。我该如何做到这一点?
我有输入字符串'~~'作为分隔符。 例如:字符串s=“1~~vijay~~25~~pune”;当我在Java中用'~\\~'拆分它时,它工作得很好。 还有其他人面临同样的问题吗?请就这个问题发表评论。
我有一个java字符串,它看起来像“itemId”:“{20044683-1111-D322-9A0B-9920EF6E9991}”,如何获取大括号之间的字符串,包括大括号?
假设我们有以下字符串: 我需要将它们分开,以获得以下结果: 你会怎么做?
问题内容: 如何在JavaScript中使用多个分隔符拆分字符串?我正在尝试在逗号和空格上进行拆分,但是AFAIK,JS的拆分功能仅支持一个分隔符。 问题答案: 传递正则表达式作为参数: 编辑添加: 您可以通过选择数组的长度减去1来获得最后一个元素: …,如果模式不匹配: