字符串分割

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串分割相关的知识,希望对你有一定的参考价值。

[IP1:5],取出数字5.

C#:

字符分割:

string s = "[IP1:5]";

string[] ss =s.Split(‘:‘);

string res =ss[1].Substring(0, ss[1].Length - 1);

正则表达式:

MatchCollection Matches =Regex.Matches(s, ":.*]");

string res2 =Matches[0].Value.Substring(1, Matches[0].Value.Length - 2);

MatchCollection Matches =Regex.Matches(s, ":.*]");这步是正则匹配

匹配到的是:5],然后再做字符串截取


Java:

package regex;

import java.util.regex.*;

 

publicclass TestRegex {

       publicstaticvoid main(String args[]) {

              Strings = "[IP1:5]";

             

              //非正则

              String[]ss = s.split(":");

              Stringres = ss[1].substring(0, ss[1].length() - 1);

              System.out.println(res);

             

              //正则

              Patternpattern = Pattern.compile(":.*]");

              Matchermatch = pattern.matcher(s);

              booleanrs = match.find();

              if (rs)

                     System.out.println(match.group().substring(1,match.group().length() -2));

                          

       }

}



BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入Case列表:");

String strCase=strin.readLine();

//System.out.println(strCase);

System.out.println("请输入服务器-任务列表:");

String strServer=strin.readLine();

//System.out.println(strServer);

String[] caseArray=strCase.split(",");

String[] serverArray=strServer.split(",");

int[] taskArray=new int[serverArray.length];

String rex1=":[0-9]*";

Pattern p=Pattern.compile(rex1);

Matcher m;

for(int i=0;i<serverArray.length;i++){

m=p.matcher(serverArray[i]);

if(m.find()){

taskArray[i]=Integer.parseInt(m.group().substring(1));

}

}


最简单的代码实现:

package ChapterTwo;


import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.util.StringTokenizer;

import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class testcase {


public static void main(String[] args) {

// TODO Auto-generated method stub

try{

BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));

System.out.println("请输入Case列表:");

String strCase=strin.readLine();

// System.out.println(strCase);

System.out.println("请输入服务器-任务列表:");

String strServer=strin.readLine();

// System.out.println(strServer);

String[] caseArray=strCase.split(",");

String[] serverArray=strServer.split(",");

int[] taskArray1=new int[serverArray.length];

int[] taskArray2=new int[taskArray1.length];

String rex1=":[0-9]*";

Pattern p=Pattern.compile(rex1);

Matcher m;

String s;

for(int i=0;i<serverArray.length;i++){

m=p.matcher(serverArray[i]);

if(m.find()){

// System.out.println(m.group().length());

s=m.group();

// System.out.println(s.substring(1,s.length()));

taskArray1[i]=Integer.parseInt(s.substring(1,s.length()));

}

}

// for(int i=0;i<taskArray1.length;i++){

// System.out.println(taskArray1[i]);

// }

for(int i=0;i<taskArray1.length;i++){

taskArray2[i]=taskArray1[i];

}

int minTask=0;

int flag=0;

for(int j=1;j<=caseArray.length;j++){

minTask=taskArray1[0];

flag=0;

for(int i=1;i<taskArray1.length;i++){

if(minTask>taskArray1[i]){

minTask=taskArray1[i];

flag=i;

}else if(minTask==taskArray1[i]){

if(taskArray2[flag]>taskArray2[i]){

flag=i;

}

}

}

taskArray1[flag]=taskArray1[flag]+1;

}

String temp;

for(int i=0;i<taskArray1.length;i++){

temp=serverArray[i].replaceAll(":[0-9]*", ":"+taskArray1[i]);

serverArray[i]=temp;

}

int count,flagCase=0;

int res=0;

String[] resultArray=new String[serverArray.length+caseArray.length];

for(int i=0;i<serverArray.length;i++){

if(taskArray1[i]!=taskArray2[i]){

count=taskArray1[i]-taskArray2[i];

for(int j=0;j<count;j++){

resultArray[res]=serverArray[i].replace("[", "["+caseArray[flagCase]+":");

res=res+1;

flagCase=flagCase+1;

}

}else{

resultArray[res]=serverArray[i].replace("[", "[NA:");

res=res+1;

}

}

for(int i=0;i<resultArray.length;i++){

if(resultArray[i]==null){

break;

}

System.out.println(resultArray[i]);

}

}catch(IOException e){

e.printStackTrace();

}

}


}


本文出自 “一步,一步” 博客,请务必保留此出处http://summerflowers.blog.51cto.com/5202033/1917457

以上是关于字符串分割的主要内容,如果未能解决你的问题,请参考以下文章

Java字符串分割

字符串分割split()

分割字符串

Android--split()分割字符串特殊用法

Python 字符串分割的方法

SQL server字符串分割成表-表分割为字符串