我想通过分隔符“-”将字符串“004-034556”拆分为两个字符串:
part1 = "004";
part2 = "034556";
这意味着第一个字符串将包含“-”之前的字符,第二个字符串将包括“-”之后的字符。
我还想检查字符串中是否有“-”。
我想通过分隔符“-”将字符串“004-034556”拆分为两个字符串:
part1 = "004";
part2 = "034556";
这意味着第一个字符串将包含“-”之前的字符,第二个字符串将包括“-”之后的字符。
我还想检查字符串中是否有“-”。
当前回答
这:
String[] out = string.split("-");
应该做你想做的事。string类有许多方法可用于字符串操作。
其他回答
import java.io.*;
public class BreakString {
public static void main(String args[]) {
String string = "004-034556-1234-2341";
String[] parts = string.split("-");
for(int i=0;i<parts.length;i++) {
System.out.println(parts[i]);
}
}
}
总结一下:在Java中至少有五种拆分字符串的方法:
String.split():String[]parts=“10,20”.split(“,”);Pattern.compile(regexp).splitAsStream(输入):List<String>strings=Pattern.compile(“\\|”).splitAsStream(“010 | 020202”).collector(Collectors.toList());StringTokenizer(遗留类):StringTokenizer strings=新StringTokeniizer(“欢迎使用EXPLAINJAVA.COM!”,“.”);while(strings.hasMoreTokens()){String substring=strings.nexToken();System.out.println(子字符串);}谷歌瓜瓦拆分器:Iterable<String>result=Splitter.on(“,”).split(“1,2,3,4”);Apache Commons StringUtils:String[]strings=StringUtils.split(“1,2,3,4”,“,”);
因此,您可以根据需要选择最佳选项,例如返回类型(数组、列表或可迭代)。
这里是这些方法的大概述和最常见的示例(如何按点、斜线、问号等分割)
要拆分字符串,请使用string.split(regex)。查看以下示例:
String data = "004-034556";
String[] output = data.split("-");
System.out.println(output[0]);
System.out.println(output[1]);
输出
004
034556
注:
此拆分(正则表达式)以正则表达式作为参数。记住转义正则表达式特殊字符,如句点/点。
使用org.apache.commons.lang.StringUtils的拆分方法,该方法可以根据要拆分的字符或字符串拆分字符串。
方法签名:
public static String[] split(String str, char separatorChar);
在您的情况下,当出现“-”时,您希望拆分字符串。
您可以简单地执行以下操作:
String str = "004-034556";
String split[] = StringUtils.split(str,"-");
输出:
004
034556
假设字符串中不存在-,则返回给定的字符串,并且不会出现任何异常。
我使用了一个名为stringValue的字符串,它的形式类似于“那些有硬币的人,在雨中享受,那些有钞票的人正忙着寻找避难所”。
我将使用“,”作为冒号拆分stringValue。
然后,我只想使用三个不同TextView的SetText()来显示该字符串。
String stringValue = "Those who had coins, enjoyed in the rain, those who had notes were busy looking for the shelter";
String ValueSplitByColon[] = stringValue.split(",");
String firstValue = ValueSplitByColon[0];
String secondValue = ValueSplitByColon[1];
String thirdValue = ValueSplitByColon[2];
txtV1.setText(firstValue);
txtV2.setText(secondValue;
txtV3.setText(thirdValue;
其输出如下:
txtV1值是:那些有硬币的人txtV2值为:在雨中享受txtV3值是:那些有笔记的人正忙着寻找避难所