當前位置:首頁 » 編程語言 » java字元串查找

java字元串查找

發布時間: 2022-05-20 14:46:48

『壹』 java怎麼查找字元串第一個字元

通過indexOf進行查找
示例:
String str = "abcdefg";
if(str.indexOf("cd")>=0){//這里查找str中是否存在"cd"字元串,如果存在則會返回大於等於0的數,如果不存在,則返回-1
System.out.println("找到了");
}

補充indexOf
1、返回 String 對象內第一次出現子字元串的字元位置。
2、string.indexOf(subString[, startIndex])
1)參數
string
必選項。String 對象或文字。
subString 必選項。
要在 String 對象中查找的子字元串。
starIndex 可選項。
該整數值指出在 String 對象內開始查找的索引。如果省略,則從字元串的開始處查找。
2)說明
indexOf 方法返回一個整數值,指出 String 對象內子字元串的開始位置。如果沒有找到子字元串,則返回-1。

『貳』 java如何實現在一個字元串中查找另一個字元串

要判斷boy是不是後者中的一部分,不用循環,只要用String類的indexOf函數就行了。
代碼如下:
public
class
HH
{
public
static
void
main(String[]
args)
{
String
s="he
is
a
boy";
int
result=s.indexOf("boy");
if(result>=0){
System.out.println("boy是he
is
a
boy的一部分");
}else{
System.out.println("boy不是he
is
a
boy的一部分");
}
}
}
運行結果:
boy是he
is
a
boy的一部分

『叄』 JAVA字元串檢索

返回指定子字元串在此字元串中第一次出現處的索引,從指定的索引開始,這樣檢索效率更高點。這種問題看看api就是了

『肆』 JAVA中如何查找字元串

問題很簡單:
1.首先,你的數據源是數組,那麼要想對每一個值作操作,必須遍歷,所以就有如下代碼:

for(int i=0;i<A.length;i++){
...
}

2.在循環當中,數組中的每一個正在遍歷的元素,就是:A[i];

3.String是java的一個字元串處理類,他有一個非常好用的方法就是,
public boolean startsWith(String prefix),測試此字元串是否以指定的前綴開始。 所以:A[i].startsWith("C")如果返回true,那麼他就是以C開頭的。

4.綜上所述,實現很簡單,完成代碼如下:
public class Test{
public static void main(String[] args){
String[] A ={"CSDF","FDS","CFDSA","DFS","FET"};
for(int i=0;i<A.length;i++){
if(A[i].startsWith("C")){
System.out.println(A[i]);
}
}
}
}

總結:
臨時寫的,代碼沒有經過測試,但敢保證其正確性的幾率很大,祝你成功。

『伍』 JAVA中如何查找字元串

1.首先,你的數據源是數組,那麼要想對每一個值作操作,必須遍歷,所以就有如下代碼: for(int i=0;i<A.length;i++){ ...} 2.在循環當中,數組中的每一個正在遍歷的元素,就是:A[i]; 3.String是java的一個字元串處理類,他有一個非常好用的方法就是, public boolean startsWith(String prefix),測試此字元串是否以指定的前綴開始。 所以:A[i].startsWith(C)如果返回true,那麼他就是以C開頭的。 4.綜上所述,實現很簡單,完成代碼如下: public class Test{ public static void main(String[] args){ String[] A ={CSDF,FDS,CFDSA,DFS,FET}; for(int i=0;i<A.length;i++){

『陸』 java中如何查找字元串中的'\'

可以用正則表達式.
如果要表示java源碼中的正則表達式的一個正常的'\'字元,則需要這樣表示'\\\\',其中第一第三個'\'均表示java編譯器中的轉義字元第二個則表示正則表達式中的轉義字元,從而把第四個'\'轉義為正則表達式中一個普通的'\'字元

『柒』 JAVA中怎樣在一個字元串中查找給定的子字元串

調用類java.lang.String
的以下方法都可以:

public int indexOf(String str)
返回指定子字元串在此字元串中第一次出現處的索引。
參數:
str - 任意字元串。
返回:
如果字元串參數作為一個子字元串在此對象中出現,則返回第一個這種子字元串的第一個字元的索引;如果它不作為一個子字元串出現,則返回 -1。

public int indexOf(String str,int fromIndex)
返回指定子字元串在此字元串中第一次出現處的索引,從指定的索引開始。
參數:
str - 要搜索的子字元串。
fromIndex - 開始搜索的索引位置。
返回:
指定子字元串在此字元串中第一次出現處的索引,從指定的索引開始。

public int lastIndexOf(String str)
返回指定子字元串在此字元串中最右邊出現處的索引。將最右邊的空字元串 "" 視為出現在索引值 this.length() 處。
參數:
str - 要搜索的子字元串。
返回:
如果字元串參數作為一個子字元串在此對象中出現一次或多次,則返回最後一個這種子字元串的第一個字元。如果它不作為一個子字元串出現,則返回 -1。

public int lastIndexOf(String str,int fromIndex)
返回指定子字元串在此字元串中最後一次出現處的索引,從指定的索引開始反向搜索。
參數:
str - 要搜索的子字元串。
fromIndex - 開始搜索的索引位置。
返回:
指定子字元串在此字元串中最後一次出現處的索引。

『捌』 java怎麼查找字元串中是否包含某個欄位

方法:

1、描述:java.lang.String.contains() 方法返回true,當且僅當此字元串包含指定的char值序列

2、聲明:如下圖

『玖』 java 如何查找匹配的字元和字元串

你可以自己寫個方法的!
從返回的第一個位置開始substring,同時記住位置。

public int[] getOffset(String str,String s){
int[] arr=new int[str.length];
int j=1;
while(str.indexOf(s)!=-1){
int i=str.indexOf(s);
if(j==1){
arr[j-1]=i;
}else{
arr[j-1]=i+arr[j-2]+1;
}
String st=str.substring(i+1);
System.out.println(st);
str=st;
j++;
System.out.println("j="+j);
}
return arr;
}

public static void main(String[] args) {

String str="abcaabbddab";
StringText st=new StringText();
int[] i=st.getOffset(str, "ab");
for(int j:i){
System.out.println(j);
}
}

『拾』 怎麼樣利用二分法查找數據中的字串JAVA

二分查找也稱折半查找(Binary Search),它是一種效率較高的查找方法。但是,折半查找要求線性表必須採用順序存儲結構,而且表中元素按關鍵字有序排列。

二分查找優缺點

優點是比較次數少,查找速度快,平均性能好;

其缺點是要求待查表為有序表,且插入刪除困難。

因此,折半查找方法適用於不經常變動而查找頻繁的有序列表。
使用條件:查找序列是順序結構,有序。


過程

首先,假設表中元素是按升序排列,將表中間位置記錄的關鍵字與查找關鍵字比較,如果兩者相等,則查找成功;否則利用中間位置記錄將表分成前、後兩個子表,如果中間位置記錄的關鍵字大於查找關鍵字,則進一步查找前一子表,否則進一步查找後一子表。重復以上過程,直到找到滿足條件的記錄,使查找成功,或直到子表不存在為止,此時查找不成功。

利用循環的方式實現二分法查找

public class BinarySearch {
public static void main(String[] args) {
// 生成一個隨機數組 int[] array = suiji();
// 對隨機數組排序 Arrays.sort(array);
System.out.println("產生的隨機數組為: " + Arrays.toString(array));

System.out.println("要進行查找的值: ");
Scanner input = new Scanner(System.in);
// 進行查找的目標值 int aim = input.nextInt();

// 使用二分法查找 int index = binarySearch(array, aim);
System.out.println("查找的值的索引位置: " + index);

}

/** * 生成一個隨機數組 *
* @return 返回值,返回一個隨機數組 */
private static int[] suiji() {
// random.nextInt(n)+m 返回m到m+n-1之間的隨機數 int n = new Random().nextInt(6) + 5;
int[] array = new int[n];
// 循環遍歷為數組賦值 for (int i = 0; i < array.length; i++) {
array[i] = new Random().nextInt(100);
}
return array;
}

/** * 二分法查找 ---循環的方式實現 *
* @param array 要查找的數組 * @param aim 要查找的值 * @return 返回值,成功返回索引,失敗返回-1 */
private static int binarySearch(int[] array, int aim) {
// 數組最小索引值 int left = 0;
// 數組最大索引值 int right = array.length - 1;
int mid;
while (left <= right) {
mid = (left + right) / 2;
// 若查找數值比中間值小,則以整個查找范圍的前半部分作為新的查找范圍 if (aim < array[mid]) {
right = mid - 1;
// 若查找數值比中間值大,則以整個查找范圍的後半部分作為新的查找范圍 } else if (aim > array[mid]) {
left = mid + 1;
// 若查找數據與中間元素值正好相等,則放回中間元素值的索引 } else {
return mid;
}
}
return -1;
}}
運行結果演示:

總結:

遞歸相較於循環,代碼比較簡潔,但是時間和空間消耗比較大,效率低。在實際的學習與工作中,根據情況選擇使用。通常我們如果使用循環實現代碼只要不是太繁瑣都選擇循環的方式實現~

熱點內容
u盤里文件夾是空的 發布:2025-02-14 06:13:22 瀏覽:803
安卓如何縮放圖片尺寸 發布:2025-02-14 06:06:34 瀏覽:116
六年級簡便演算法題 發布:2025-02-14 05:53:02 瀏覽:8
腳本精靈要root嗎 發布:2025-02-14 05:51:30 瀏覽:212
安卓手機如何錄屏怎麼去掉觸摸顯示 發布:2025-02-14 05:36:23 瀏覽:996
安卓系統新品推薦怎麼關 發布:2025-02-14 05:35:44 瀏覽:888
虛擬存儲器的基礎是 發布:2025-02-14 05:32:24 瀏覽:516
androidstudio出錯 發布:2025-02-14 05:32:14 瀏覽:305
面容id存儲多張臉 發布:2025-02-14 05:31:30 瀏覽:656
網站源碼百度雲 發布:2025-02-14 05:30:53 瀏覽:214