1、定义自己的String类MyString,该类有一个数据域成员:String msString;一个方法成员:mySplit()用于返回给定分隔符分隔的字符串数组,要求这个数组中含有这些分隔符,方法声明如下:
Public static String[] mySplit(String s,String regex);s给定母串,regex为给定正则表达式
Public String[] mySplit(String regex);返回当前字符串以指定正则表达式(regex)分离的字符串数组
该类的其他方法由你自己根据需要确定。
例子:mySplit(“asb#?Gfj%123*hj”,”[#?%*]”);运行返回的字符串数组为:asd、#、?、Gfj、&、123、*、hj
另外:上周上机作业未完成的继续完成。
package assignment;
public class MyString {
private String msString;
public MyString(String msString) {
this.msString=msString;
}
public String getString() {
return msString;
}
public static String[] mySplit(String s,String regex) {
String[] a=new String[s.length()];
for(int i=0;i<a.length;i++) {
a[i]="";
}
int count=0,flag=0;
for(int i=0;i<s.length();i++) {
for(int j=0;j<regex.length();j++) {
if(s.charAt(i)==regex.charAt(j)&®ex.charAt(j)!='['&®ex.charAt(j)!=']'){
flag=1;
}
}
if(flag==1) {count++;a[count]+=s.charAt(i);flag=0;count++;}
else {
a[count]+=s.charAt(i);
}
}
return a;
}
public String[] mySplit(String regex) {
String[] a=MyString.mySplit(msString, regex);
return a;
}
}
package assignment;
import java.util.Arrays;
public class testMyString {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyString s=new MyString("asb#?Gfj%123*hj");
String[] a=MyString.mySplit("asb#?Gfj%123*hj", "[#?%*]");
for(int i=0;i<a.length;i++) {
if(a[i]!="")
System.out.print(a[i]+" ");
}
System.out.println();
String[] b=s.mySplit("[#?%*]");
for(int i=0;i<b.length;i++) {
if(b[i]!="")
System.out.print(b[i]+" ");
}
}
}