举了例子吧,有这样几个字符串:
String str1 = "dsaf3d&channelid=34567&dsfghh3";
String str2 = "channelid=87654&sdf452";
String str3 = "channelid=76543&channelid=76543";
channelid=的数字都是五位.
现在我想有这样一种方法,可以取得channelid=后面的那五位数字.
还望大家指教
String str1 = "dsaf3d&channelid=34567&dsfghh3";
String str2 = "channelid=87654&sdf452";
String str3 = "channelid=76543&channelid=76543";
channelid=的数字都是五位.
现在我想有这样一种方法,可以取得channelid=后面的那五位数字.
还望大家指教
String str3 = "channelid=76543&channelid=76543";
String s[] = str3.split("&");
String s2 = "";
for(String k:s){
if(k.indexOf("channelid")!= -1){
s2 = k;
break;
}
}
s = s2.split("=");
System.out.println(s[1]);
}
}
String strFFF =str2.subString(str2.indexOf("channelid")+"channelid".length()+1,5);
Pattern pp=Pattern.compile(p);
Matcher m=pp.matcher(str1);
while(m.find()){
System.out.println(m.group());
}
import java.util.regex.Pattern;public class Test14 { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String st = "dsaf3d&channelid=34567&dsfghh3";
Pattern p=Pattern.compile("channelid=(\\d{5})");
Matcher m=p.matcher(st);
StringBuffer sb=new StringBuffer();
while(m.find()){
sb=sb.append(m.group(1));
}
System.out.println(sb);
}}
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class T1 { public static void main(String[] args) { List<String> strList = new ArrayList<String>();
strList.add("dsaf3d&channelid=34567&dsfghh3");
strList.add("channelid=87654&sdf452");
strList.add("channelid=76543&channelid=76543"); Pattern pattern = Pattern.compile("(=)(\\d{5})");
List<String> numList = new ArrayList<String>();
for (String str : strList) {
findPattern(str, pattern, 2, numList);
} // 输出结果
for (String num : numList) {
System.out.println(num);
}
} /**
* 从字符串中匹配指定的模式
* @param str 需要被查找的字符串
* @param pattern 匹配的模式
* @param index 需要匹配的结果在模式中的组位置
* @param list 保存匹配到的结果
*/
private static void findPattern(String str, Pattern pattern, int index,
List<String> list) {
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
list.add(matcher.group(index));
}
}
}
public class test {
public static void main(String[] args) {
String str1 = "dsaf3d&channelid=34567&dsfghh3";
String str2 = "channelid=87654&sdf452";
String str3 = "channelid=76543&channelid=76543"; String[] strarr=new String[3];
strarr[0]=str1;
strarr[1]=str2;
strarr[2]=str3;
Pattern pattern=Pattern.compile("=(\\d+)");
for (int i=0;i<3;i++)
{
Matcher matcher=pattern.matcher(strarr[i]);
while(matcher.find())
{
System.out.println(matcher.group(1));
}
}
}
}
String str2 = "channelid=87654&sdf452";
int index = str2.indexOf("channelid")+"channelid".length()+1;
String strFFF =str2.substring(index,index+5);
一直想着(开始下标,截取长度);