
如果有多处匹配,并输出位置就用Matcher
import javautilregex;
public class FileTest{
public static void main(String[] args){
Matcher m=Patterncompile("/")matcher("my name is /,/said:please find me /");
int count=1;
while(mfind()){
Systemoutprintf("找到第%d个,起始:%d,结束:%d\n",count,mstart(),mend());
count++;
}
}
}
这个是反斜杠的\
import javautilregex;
public class FileTest{
public static void main(String[] args){
Matcher m=Patterncompile("\\\\")matcher("my name is \\,\\said:please find me \\");
int count=1;
while(mfind()){
Systemoutprintf("找到第%d个,起始:%d,结束:%d\n",count,mstart(),mend());
count++;
}
}
}
String,一但声明了就不能变了!而StringBuffer是可变的,String声明的空间是个池里,而StringBuffer只能在堆里声明。
int indexOf(int ch)
int indexOf(int ch, int fromIndex)
返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
public static void main(String[] args) {
String str="breadgetbreadandbread";
int length = length(str);
String s = sub(str);
int index = index(str, "get");
Systemoutprintln("返回字符串长度: " + length);
Systemoutprintln("截取字符串: " + s);
Systemoutprintln("返回字符串索引的值: " + index);
}
/
返回字符串长度
@param str
@return
/
public static int length(String str){
return strlength();
}
/
截取字符串
@return
/
public static String sub(String str){
return strsubstring(0, 5);
}
/
返回字符串索引的值
@param str
@return
/
public static int index(String str, String ss){
return strindexOf(ss);
}
List<JButton> buttons = new ArrayList();
for(int i=0;i<10;i++){
JButton b=new JButton("按钮"+i);
buttons add(b)
}
第一个按钮: buttonsget(0); 以此类推
这个可以解决你的问题,你可以运行试试。我自己写的,之前真没想过找汉字索引问题,我试过可以,不明白的可以给我回复。搞清这个问题我花了接近一个小时呵呵。不过搞懂了以后就有经验了。
public class SerchingJava{
public static void main (String[] args) {
String s="send an e-mail 发送电子邮件";
// Systemoutprint('\u4e00');
// Systemoutprint('\u9fa5');
// 把 这unicode编码 两个边界汉字(最大和最小)转换成 十进制
// int i= IntegerparseInt("4e00",16);
// int j= IntegerparseInt("9fa5",16);
// 获取它们之间的差值
// Systemoutprintln(i-j);
//
//试验字符串的 compereTo方法 比较 这两个汉字
// Systemoutprintln("一"compareTo("\u9fa5"));
/ 通过上面注释部分可知
字符串的 compereTo方法返回的结果和i-j结果相等 所以可以用这个原理
来获取第一个中文的索引位置
/
for (int index = 0;index<slength()-1;index++)
{
//将每一个角标的字符(字母 汉字 空格等)一次转换成字符串
String w=ssubstring(index, index+1);
//
//Systemoutprintln(wcompareTo("\u4e00"));
//Systemoutprintln(wcompareTo("\u9fa5"));
// 而java采用unicode编码,汉字的范围是 "\u4e00"(一)到"\u9fa5"(龥)
if(wcompareTo("\u4e00")>0&&wcompareTo("\u9fa5")<0)
{
Systemoutprintln("第一个中文的索引位置"+index);
//获取第一个汉字索引位置 跳出循环
break;
}
}
}
}
在java中使用indexOf方法即可获得字符串中某一字符的位置,例如String str="abcdef",Systemoutprintln(strindexOf("c"))。
Java中常用字符串方法有:
1、获取长度:
length();//这与数组中的获取长度不同
2、比较字符串:
(1) equals() //判断内容是否相同
(2)compareTo() //判断字符串的大小关系
(3)compareToIgnoreCase(String int) //在比较时忽略字母大小写
(4)== //判断内容与地址是否相同
(5)equalsIgnoreCase() //忽略大小写的情况下判断内容是否相同
如果想对字符串中的部分内容是否相同进行比较,可以用
(6)reagionMatches() //有两种
public boolean regionMatches(int toffset, String other,int ooffset,int len);表示如果String对象的一个子字符串与参数other的一个子字符串是相同的字符序列,则为true要比较的String 对象的字符串从索引toffset开始,other的字符串从索引ooffset开始,长度为len。
public boolean reagionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);//用布尔类型的参数指明两个字符串的比较是否对大小写敏感。
以上就是关于java中判断了字符串有了斜杠,怎么输出他的索引位置全部的内容,包括:java中判断了字符串有了斜杠,怎么输出他的索引位置、JAVA字符串中取特定字符的位置、用Java编写一个打印字符串长度,截取字符串,返回字符串索引的值程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)