Regex 使用Pattern.compile拆分文本

Regex 使用Pattern.compile拆分文本,regex,metacharacters,Regex,Metacharacters,以下是一行文字: 003比克和贾伊州银行A/C.121500.00 13160.00 98340.00+ 下面是我拆分它的代码片段: Pattern pat = Pattern.compile("[ ]"); String strs[] = pat.split(s); for (int i = 0; i < strs.length; i++) { System.out.println("Next Token = " + strs[i]); } Pattern pat=Patter

以下是一行文字:

003比克和贾伊州银行A/C.121500.00 13160.00 98340.00+

下面是我拆分它的代码片段:

Pattern pat = Pattern.compile("[ ]");
String strs[] = pat.split(s);
for (int i = 0; i < strs.length; i++) {
    System.out.println("Next Token = " + strs[i]);
}
Pattern pat=Pattern.compile(“[]”);
字符串字符串[]=部分拆分;
对于(int i=0;i
以下是我得到的:

003、州、银行、OF、BIK、*、JAI…等。

我真正想要的是:

003,比克和贾伊国家银行,A/C.1,2.1,015.00…等


我应该使用哪种模式或元字符来完成此操作?

对于您的情况,此拆分调用将起作用:

String data = "003 STATE BANK OF BIK & JAI A/C.1 2 1,01,500.00 1 3,160.00 98,340.00+";
String[] arr = data.split(" +(?=\\S*\\d)|(?<![A-Z&]) +");
System.out.println(Arrays.toString(arr));

这是BIK&JAI国家银行的
部分,这将使它变得困难,你需要找到一些共性,因为这个字符串可以是任何东西,对吗。也许再举几个其他字符串的例子。首先按a/C拆分字符串,然后得到左边只有数字+银行名,右边可以按您的方式拆分为数字序列。按空格拆分会很麻烦。是否所有行都有一个
a/C
?@ashokdesai:您需要提供一些关于所需拆分逻辑的解释。在你的字符串中,用空格或逗号分隔是行不通的。@Ashalynd的工作很有魅力。非常感谢。
[003, STATE BANK OF BIK & JAI, A/C.1, 2, 1,01,500.00, 1, 3,160.00, 98,340.00+]