当前位置:首页 » 编程语言 » java字符串子串

java字符串子串

发布时间: 2022-08-23 01:08:35

java一个很长的字符串怎么从中抽取子串

String ss="";
int len=ss.length();获得字符串的长度,之后,根据长度来使用substring(index1,index2),就不会越界了。

⑵ java里如何从一个字符串里过滤掉一个子串

通过replaceAll方法进行替换,也就是说将“子串”替换为空,举例:
String str = "aaaaaabaaaabaaa".replaceAll("b", "");//第一个参数是需要被替换的内容,第二个是被替换成的内容
System.out.print(str);//输出替换后的结果
结果就是:aaaaaaaaaaaaa。

⑶ 用java 正则表达式 计算一个字符串中某个子串的个数

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexTest {

public static void main(String args[]){
String str = "abcdfdfsabcdfdsf abc fdfdabcabc";

//1. 用这则表达式处理, 不过好像一点都不省事..
Pattern p = Pattern.compile("abc",Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(str);
int count = 0;
while(m.find()){
count ++;
}
System.out.println("ABC的个数 : " + count);

//2. 用普通方法来做,比较省事
String [] ary = ("," + str + ",").split("abc");
System.out.println("ABC的个数 : " + (ary.length - 1));
}
}

我觉得用split方法,以"abc"做分隔符将字串拆分成数组,这样比较简单.不过上面的代码(第二种方法)只能判断小写"abc"的个数, 如果你还需要将"ABC"或者"aBc"或者"abC"这样的字串都找出来, 只需要将第二种方法的代码修改成下面这样的就可以了:

String [] ary = ("," + str.toLowerCase() + ",").split("abc");
System.out.println("ABC的个数 : " + (ary.length - 1));

⑷ java作业编写程序检验两个字符串的子串关系 求代码和有实验结果图😊

importjava.util.Scanner;

publicclassStringDemo{
publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
while(true){
System.out.print("请输入第一个字符串:");
Stringstr1=sc.nextLine();
System.out.print("请输入第二个字符串:");
Stringstr2=sc.nextLine();
isZC(str1,str2);
}
}

privatestaticvoidisZC(Stringstr1,Stringstr2){
if(str2.length()>str1.length()){//如果字符串2长度较小,那么交换两个字符串
Stringtemp=str1;
str1=str2;
str2=temp;
}
if(str1.contains(str2)){//如果包含字符串,就是子串
System.out.println("验证结果:"+str2+"是"+str1+"的子串");
}else{
System.out.println("验证结果:"+str1+"和"+str2+"不存在子串关系");
}
}
}

截图

⑸ 在java语言如何判断某个字符串中是否含有指定的某个子串

public class string {
public static void main(String argv[]){
String s[]={"a","ab","abc","abcd","abcde"};
for(int i=0;i<s.length;i++){
int result= s[i].indexOf("abc");
System.out.println("包含子串abc的字符串有:"
+result);
}
}
}
你一直判断的是s[0],把int result= s[0].indexOf("abc"); 改为int result= s[i].indexOf("abc");
就OK了!

⑹ JAVA中如何判断一个字符串是否为另一个字符串的子串

indexOf(String s)的使用,如果包含,返回的值是包含该子字符串在父类字符串中起始位置;如果不包含必定全部返回值为-1。

代码如下:

package my_automation;

public class z_test {

public static void main(String[] args) {

String test = "This is test for string";

System.out.println(test.indexOf("This")); //0

System.out.println(test.indexOf("is")); //2

System.out.println(test.indexOf("test")); //8

System.out.println(test.indexOf("for")); //13

System.out.println(test.indexOf("for string "));//-1

if (test.indexOf("This")!=-1){

//"只要test.indexOf('This')返回的值不是-1说明test字符串中包含字符串'This',相反如果包含返回的值必定是-1"

System.out.println("存在包含关系,因为返回的值不等于-1");

}else{

System.out.println("不存在包含关系,因为返回的值等于-1");

}

if (test.indexOf("this")!=-1){

//"只要test.indexOf('this')返回的值不是-1说明test字符串中包含字符串'this',相反如果包含返回的值必定是-1"

System.out.println("存在包含关系,因为返回的值不等于-1");

}else{

System.out.println("不存在包含关系,因为返回的值等于-1");

}

}

(6)java字符串子串扩展阅读

java string中indexOf()常用用法

Java中字符串中子串的查找共有四种方法,如下:

1、int indexOf(String str) :返回第一次出现的指定子字符串在此字符串中的索引。

2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第一次出现的指定子字符串在此字符串中的索引。

3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定子字符串的索引。

4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后一次出现的指定子字符串的索引。

public class Test {

public static void main(String[] args) {

String s = "xXccxxxXX";

// 从头开始查找是否存在指定的字符 //结果如下

System.out.println(s.indexOf("c")); //2

// 从第四个字符位置开始往后继续查找,包含当前位置

System.out.println(s.indexOf("c", 3)); //3

//若指定字符串中没有该字符则系统返回-1

System.out.println(s.indexOf("y")); //-1

System.out.println(s.lastIndexOf("x")); //6

System.out.println(s.indexOf(120,2)); //4

System.out.println(s.indexOf('x',2)); //4 120是x的ASCII编码

}

}

⑺ java 实现 一个字符串中不重复最长子串

/**注意:如果一个函数有多个长度相等的不重复子串,本函数只能得到其中的第一个子串,
*如果要输出所有子串,稍作修改即可
*/
publicstaticStringnoDuplicate(Strings){
/**
*这个函数返回给定字符串中最长不重复子串采用类似纸牌游戏拖板车的思维
*/
Stringresult="";//记录最终结果,即最长子串
Stringsub="";//记录当前纸牌串
for(inti=1;i<s.length();i++){//一张张发牌
Stringc=""+s.charAt(i);//当前新发下来的牌
if(!sub.contains(c)){//如果当前纸牌串中不包含新发的牌
sub+=c;//将新牌加入当前纸牌串
}else{//如果当前纸牌串中包含新发的牌
if(result.length()<sub.length()){//如果当前子串比最优记录长
result=sub;//更新最优记录
}
String[]temp=sub.split(c);//将子串按当前牌分割为两部分
sub=temp[1];//取后一部分作新的当前纸牌串,丢弃重复牌及其前面部分
sub+=c;//将新牌加入当前纸牌串
}
}
//比较最后一个当前纸牌串与最优记录
if(result.length()<sub.length()){//如果当前子串比最优记录长
result=sub;//更新最优记录
}
returnresult;
}

⑻ java 如何查找子串

#########################################
indexOf
public int indexOf(String str)返回第一次出现的指定子字符串在此字符串中的索引。返回的整数是
this.startsWith(str, k)
为 true 的最小值 k。

参数:
str - 任意字符串。
返回:
如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这样的子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1。
######################################################
substring
public String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。该子字符串始于指定索引处的字符,一直到此字符串末尾。
例如:

"unhappy".substring(2) returns "happy"
"Harbison".substring(3) returns "bison"
"emptiness".substring(9) returns "" (an empty string)

参数:
beginIndex - 开始处的索引(包括)。
返回:
指定的子字符串。
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负或大于此 String 对象的长度。
#####################################################
不知道你具体的意思,应该用这2个方法,可以知道字串的位置,或取子字符串。
你可以参考JAVA API ,另外JAVA中不叫函数,叫方法。:)

热点内容
云隙服务器下载 发布:2024-05-19 04:33:22 浏览:312
德国C语言 发布:2024-05-19 04:13:40 浏览:959
音频管理器没有文件夹 发布:2024-05-19 04:13:36 浏览:666
qq邮箱端口993服务器怎么填 发布:2024-05-19 04:07:05 浏览:202
javaapi框架 发布:2024-05-19 04:06:59 浏览:359
与存储结构无关的术语 发布:2024-05-19 04:05:41 浏览:499
编译路由器固件选择 发布:2024-05-19 03:56:28 浏览:39
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620