1. 程式人生 > >java 擷取字串獲取子字串

java 擷取字串獲取子字串

兩種方法:

  1. substring(int beginIndex): 返回一個新的字串,它是此字串的一個子字串。該子字串從指定索引處的字元開始,直到此字串末尾。

  2. substring(int beginIndex,int endIndex) :返回一個新字串,它是此字串的一個子字串。該子字串從指定的 beginIndex 處開始,直到索引 endIndex - 1 處的字元。因此,該子字串的長度為 endIndex-beginIndex

簡單示例1:

package com.yubai;

/**
 * Created by bayu on 9/13/2017.
 */
public class
string {
public static void main(String[] args) { //定義字串 String str = "hello world!"; //獲取字串的長度 System.out.println(str.length()); //擷取子字串 System.out.println(str.substring(1, 3)); //擷取子字串 System.out.println(str.substring(3)); //擷取子字串,長度大於或者為負數,則拋異常--IndexOutOfBoundsException
// System.out.println(str.substring(123)); // System.out.println(str.substring(-1)); } }

執行結果:

12
el
lo world!

簡單示例2:

需求:把”01:大汽車”,分成01和大汽車

方法一:通過substring方法解決

package com.yubai;

/**
 * Created by bayu on 9/13/2017.
 */
public class subString {
    public static void
main(String[] args) { String str = " 01:大汽車 "; String L = ""; String N = ""; int strLength = str.length(); for (int i = 0; i < strLength; i++) { if(str.substring(i, i + 1).equals(":")){ L = str.substring(0,i).trim(); N = str.substring(i+1,strLength).trim(); } } System.out.println(L); System.out.println(N); } }

方法二:通過split方法解決

package com.yubai;

/**
 * Created by bayu on 9/13/2017.
 */
public class split {
    public static void main(String[] args) {
        String str = "   01:???   ";
        String[] strArray = str.split(":");
        System.out.println(strArray[0].trim());
        System.out.println(strArray[1].trim());
    }
}

方法三:通過正則表示式解決

package com.yubai;

/**
 * Created by bayu on 9/12/2017.
 */
public class Test {
    public static void main(String[] args) {
        String str = "one123";
        String regex = "(?<=one)(?=123)";

        String[] strs = str.split(regex);
        for (int i = 0; i < strs.length; i++) {
            System.out.printf("strs[%d] = %s%n", i, strs[i]);

        }
    }
 }

StringUtils.substringBefore(“dskeabcee”, “e”);
/結果是:dsk/
這裡是以第一個”e”,為標準。

StringUtils.substringBeforeLast(“dskeabcee”, “e”)
結果為:dskeabce
這裡以最後一個“e”為準。

注意: 這個例子需要學習正則表示式???

相關推薦

java 擷取字串獲取字串

兩種方法: substring(int beginIndex): 返回一個新的字串,它是此字串的一個子字串。該子字串從指定索引處的字元開始,直到此字串末尾。 substring(int beginIndex,int endIndex) :返回一個新

python從母字串獲取字串出現的次數

#定義統計字串的方法 def calcu_sub_str_num(mom_str,sun_str): print('列印母字串:',mom_str) #打印出母字串 print( '列印子字串:',sun_str) #打印出子字串 print('列印母字串長度:',

java中怎樣獲取JSON字串裡的鍵值?具體見內容

   有幾個問題望有經驗的大佬不吝賜教!! 1.這樣結構的JSON字串怎樣一一獲取? 2.blackDeatils內的內容需要寫入資料庫,"AQ123"也是表中的一個欄位,該鍵值如何獲取? 3.怎樣存入更合適?  "result":{  

Java 擷取特殊符號前後字串

//獲取特殊符號後面的字串 String  str ="abc.rar"; String [] strs = str.split("[.]"); System.out.println("符號前面的字串="+strs[0]);

C strncpy 從指定位置開始擷取指定長度字串方法

char dest[4]; char src[] = {"123456789"}; strncpy(dest, src+3, 3); 輸出結果為 456 strncpy函式中的引數是字串陣列的

C語言-字串處理-識別一個字串字串-然後擷取這個字串的後面一段

我怎麼從一個很長很長的字串中,識別到某個字串之後,開始從這個字串擷取到這個原字串的最後一位?這個問題是我同事問我的,當時我一臉懵逼,然後想到一個數組,然後對比查詢,再然後獲取位置,然後直接指標相減。開發遇到的小問題。記錄下來,便於自己思維總結。後面想起前面的資料庫開發,只想喊

java String類-獲取一個字串在另一個字串中出現的次數

<pre name="code" class="html">//另一種方法 class StringTest3_1 { public static void main(String[]

分別在控制檯輸入字串字串,並計算字串中子字串出現的次數。

Scanner s=new Scanner(System.in); System.out.println("請輸入字串"); String t=s.next(); //System.out.println(t); System.out.println("請輸入子字串");

使用python解析Json字串-獲取Json字串關鍵字

import json data = { "statusCode": 200, "data": { "totoal": "5", "height": "5.97", "weight": "10.30", "age": "11" }, "msg":

使用R完成字串字串頻率統計

整理自統計之都論壇 方法一   使用strsplit函式 a <- "aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggagg" b <- strsplit(as.character(a),"ag") le

Xml解析方法以及String型別字串利用字串對其切割方法

今天回到了windows後臺服務,使用程式語言為C#,主要為兩個方面的方法: 1、Xml解析方法 之前根據網上的提示,利用ReadSerializerList方法對Xml進行反序列化,確實自己利用這個方法解決了不少Xml文件的解析,但是這種方法對Xml格式內容要求比較高。

java String類-獲取兩個字串的最長相同

/* 獲取兩個字串中最大相同子串。枚舉出長度較短的字串的所有子串。將子串放在字串陣列中。 通過迴圈判斷長度較長的字串中是否包含字串陣列中的元素,並返回包含且最長的子字串。 */ class Stri

QT中QString 類的使用--獲取指定字元位置、擷取字串

QString 類中各函式的作用。 一、字串連線函式。 1、QString也過載的+和+=運算子。這兩個運算子可以把兩個字串連線到一起。      2、QString的append()函式則提供了類似的操作,例如:    str = "User: ";      str

Java精確擷取字串/獲取字串前指定長度字元函式

用java取得字串的前面部分內容的函式contentStr = contenttemp.substring(0, 150);其中要保證最大長度不能超過字串的長度。下面是我的實現部分程式碼,以及網上搜索的相關程式碼:      /*      * content內容過長可能會

Java實現獲取隨機字串

1.  程式碼塊 import java.util.Random; /** * 隨機字串工具 * * @author volitation * */ public class RandomString { /** * 獲取指定長度隨機字串 * * @pa

JAVA擷取後String字串六位字元

public static void main(String[] args){ String cellphone="15585458544"; String pwd = cellphone.substring(cellphone.length() - 6);

【轉載】Java 從原字串擷取一個新的字串 subString()

substring public String substring(int beginIndex) 返回一個新的字串,它是此字串的一個子字串。該子字串從指定索引處的字元開始,直到此字串末尾。 示例: "unhappy".substring(2) returns

Java】 劍指offer(48) 最長不含重複字元的字串 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集

本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集   題目    請從字串中找出一個最長的不包含重複字元的子字串,計算該最長子字串的長度。假設字串中只包含從'a'到'z'的字元。 思路   動態規劃法:定義函式f(i)為:以第i

PHP中文處理 中文字串擷取(mb_substr)和獲取中文字串字數

一、中文擷取:mb_substr()  mb_substr( $str, $start, $length, $encoding )  $str,需要截斷的字串  $start,截斷開始處,起始處為0  $length,要擷取的字數  $encodin

Java練習】獲取兩個字串中最長的相同欄位

獲取兩個字串中最長的子串並輸出。 思路解析: 1.首先考慮我們要知道長度最短的字串,這樣子在比較的次數會更少。 2.我們首先從長度最小的字串每次擷取一小段判斷是否在大串中 3.考慮到有可能有多個長度相同的子串,那麼我們就應該將他們同時儲存到集合中 4.要多考慮到各種異常的發生。