當前位置:首頁 » 編程語言 » 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-05 22:43:40 瀏覽:718
grublinux引導 發布:2024-05-05 22:37:56 瀏覽:214
unix高級編程第三版pdf 發布:2024-05-05 22:32:09 瀏覽:958
手機wap網站源碼 發布:2024-05-05 22:27:44 瀏覽:259
python修改文件某一行 發布:2024-05-05 22:18:22 瀏覽:457
md5加密64 發布:2024-05-05 21:59:30 瀏覽:527
259pp頁面訪問升級 發布:2024-05-05 21:47:51 瀏覽:89
迅雷阻止上傳 發布:2024-05-05 21:26:19 瀏覽:914
資料庫運維題 發布:2024-05-05 21:21:47 瀏覽:962
RM魔塔編程 發布:2024-05-05 21:21:47 瀏覽:286