ResString是一个字符串,其中含有大量空格,该字符串可由空格为风格符分成若干个子字符串,要求写一个函数返回指定位置的子字符串,找不到则返回””,例如:ResString=“ abc def ghi jkl”,则GetSubString(ResString,3)=“ghi”
解决方案 »
- 怎样读取一个xml文件并显示在jTable中
- Eclipse3.3和JBuilder2007没有应用程序开发吗?
- 为什么同一个包下的类不能引用,编译错误。
- 急!! replaceAll方法中的正则表达式应用 !
- ★-★关于对class的模糊处理, 解决后有高分报答!
- 从键盘上输入2个数,然后输出相加结果,如何实现????????????????
- throw and throws
- 各位兄弟救命啦!总是出现下面的错误!!!
- java in thinking 第一版翻译的真的不能读么?
- 第一次用log4j,按照文档配置之后出现问题
- java如何实现对局域网的监视程序
- 请教多线程中的yield()方法和notity()方法?在线等~!~1
然后过滤字符串,压入链表
public static void main(String[] args){
String ResString = " abc def ghi jkl";
System.out.println(GetSubString(ResString,3));
} public static String GetSubString(String str, int i ){
String[] s = str.split(" ");
Vector v = new Vector();
for(String st : s){
if(!st.equals("")){
v.add(st);
}
}
return (String)v.elementAt(i-1);
}
}
boolean flag = false;
int count = 0;
StringBuffer sb = new StringBuffer();
for(int i=0;i<s.length();i++){
char c = s.charAt(i);
if(' ' == c){
flag = false;
}else if(false ==flag){
flag = true;
count++;
}
if(count == index)
sb.append(c);
}
return sb.toString();
}
import java.util.*;
/**
*
* @author lj
*/
public class Test {
private String[] c;
private int d;
String getSubString(String[] c ,int d){
this.c=c;
this.d=d;
try{
if(c[0].equals("")){ //如果前面有空格就执行这个
return c[d];
}
else{ //前面没空格就执行这个
return c[d-1];
}
}catch(Exception e){ //找不到则返回””
return " ";
}
}
public static void main(String[] args){
Test t = new Test();
String a =" abc def ghi jkl"; //第一种情况:前面有空格;
String[] b = a.split("(\\s)+");
System.out.println(Arrays.toString(b));
System.out.println(t.getSubString(b, 3));
String two ="abc def ghi jkl"; //第二种情况,前面没有空格;
String[] c = two.split("(\\s)+");
System.out.println(Arrays.toString(c));
System.out.println(t.getSubString(c, 3));
//第三种情况,找不到
System.out.println(t.getSubString(c, 10));
}}
java.util.regex.Pattern p;
if(index == 1)
p = java.util.regex.Pattern.compile("^ *[a-zA-z]+");
else
p = java.util.regex.Pattern.compile(" +[a-zA-z]+");
java.util.regex.Matcher m = p.matcher(str);
int i = 0;
while(m.find()) {
if(++i == index)
return m.group().trim();
}
return " ";
}
public static void main(String[] args){
String ResString = " abc def ghi jkl";
System.out.println(GetSubString(ResString,3));
} public static String GetSubString(String str, int i ){
String[] s = str.split(" ");
if (s[0].toString() ==""){
return s[i+1].toString();
}else{
return s[i].toString();
}
}
}
public class TestSplit3 { /**
* @param args
*/
public static void main(String[] args) {
//第0个位置 的字串是abc 1 def 2 gh
new TestSplit3().getsubstring(3);
}
public void getsubstring(int j){
String s = "abc def gh i kjj";
String[] ss = s.split("\\s+", -1);
for(int i = 0; i<ss.length ; i++){
if(i == j){
System.out.println(ss[i]);
}
}
}}这种方法好用 你试试看