字符串问题 我想从一段文字中提取所有匹配的字符串位置,例如:万里长城万里长我要提取所有“万里”的位置 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Sting里面有相关的方法自己去查,如果没有就考虑正则表达式 int location li[];int lo=0;for(int i=0; i<str.length(); i++){if("万" == str.charAt(i)) if("里" == str.charAt(i+1)){li[lo++] = i;//这样li[]数组里即保存了满足条件的位置,是保存的“万”的下标位置。}}你试试。 这个问题很好。现在我只能算出有几个。import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test01 { private static final String str = "万里长城万里长"; public static void main(String args[]) { split() ; } // 第一种方法split public static void split() { int count = 0; Pattern pattern = Pattern.compile("万里"); Matcher m = pattern.matcher(str); while (m.find()) { count++; } System.out.println("个数有:" + count); }} String str="万里长城万里长"; String matched="万里"; int bgnIndex=0; int site=0; //记录匹配字串所在的位置 while((site=str.indexOf(matched,bgnIndex))!=-1){ bgnIndex=site+matched.length(); System.out.println(site); }如果字符串很长,建议使用正则,考虑效率问题。 呵呵,这里的新人蛮多的,建议参考我楼上的回答。有api就使用api。但是考虑效率用正则。 好解决了。import java.util.regex.Matcher;import java.util.regex.Pattern;public class Test01 { private static final String str = "万里长城万里长"; public static void main(String args[]) { split() ; } // 第一种方法split public static void split() { int count = 0; Pattern pattern = Pattern.compile("万里"); Matcher m = pattern.matcher(str); while (m.find()) { System.out.println(m.group()); System.out.print("start:"+m.start()); System.out.println(" end:"+m.end()); } }} 正则表达式,或是用filterchain 各位大大实在是找不到问题出在哪儿。。。求助!!!,先行谢过! LINUX+MYSQL+JDBC+中文乱码问题。 有关import的一点小问题 求助:配置ODBC数据源 请问怎样给jlist中的每一项添加事件? 一个java性能方便的小问题 如何将字符串转换成字符串数组? 一个菜鸟的问题急盼解决!大虾们行行好啊 Just In Java2书中BeanInfo中getEventSetDescriptors()函数的问题,内详 在ModalDialog窗口中的URL地址,怎么让它在父窗口中打开?请多多指教!!! 简单Swing问题 用socket发送HTTP请求时出现这样的错误,求教!
int location li[];
int lo=0;
for(int i=0; i<str.length(); i++){
if("万" == str.charAt(i))
if("里" == str.charAt(i+1)){
li[lo++] = i;//这样li[]数组里即保存了满足条件的位置,是保存的“万”的下标位置。
}
}你试试。
现在我只能算出有几个。
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test01 { private static final String str = "万里长城万里长";
public static void main(String args[]) {
split() ;
} // 第一种方法split
public static void split() {
int count = 0;
Pattern pattern = Pattern.compile("万里");
Matcher m = pattern.matcher(str);
while (m.find()) {
count++;
}
System.out.println("个数有:" + count);
}
}
String str="万里长城万里长";
String matched="万里";
int bgnIndex=0;
int site=0; //记录匹配字串所在的位置
while((site=str.indexOf(matched,bgnIndex))!=-1){
bgnIndex=site+matched.length();
System.out.println(site);
}如果字符串很长,建议使用正则,考虑效率问题。
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test01 { private static final String str = "万里长城万里长";
public static void main(String args[]) {
split() ;
} // 第一种方法split
public static void split() {
int count = 0;
Pattern pattern = Pattern.compile("万里");
Matcher m = pattern.matcher(str);
while (m.find()) {
System.out.println(m.group());
System.out.print("start:"+m.start());
System.out.println(" end:"+m.end()); }
}
}