導航:首頁 > 編程語言 > java截取中文字元串

java截取中文字元串

發布時間:2022-10-24 22:23:20

java 怎麼截取指定長度的中文數字串

通過char值去判斷字元串裡面的漢字,在截取的范圍內,每出現一個漢字,截取時長度+1

Ⅱ java中截取字元串

用java中String類里的split();方法 這一方法支持正則表達式
用法
String str=「1234567.1234」;
String [] strs = str.split("[.]");
就可以得到數組 strs[0] =1234567; strs[1] =1234

Ⅲ java截取中文字元串。

public static void main(String args[])
{
String str="看看以下回答是否解決了您的疑問" ;
//提取子字元串,頭一個表示開頭的索引(包括),後一個表示結束的索引(不包括)
//索引是在字元串的位置,從0開始
//str.substring(0, 7)表示從第0位到第6位(因為不包含第七位)
//英文字元串也是類似的
String substr = str.substring(0, 7) ;
System.out.println(substr);
}

Ⅳ java截取漢字字元串問題

如果說,「中國工商銀行廣東分行」這樣的名稱是每行報文的第一個出現的字元串,那麼就很簡單了,String name = line.split(" ")[0];//""裡面的是一個空格. 這樣就行了

如果不是每行報文中第一個出現的,那就這樣:

String khmc = line.substring(100,130)
khmc = khmc.split(" ")[0];

這樣也行

Ⅳ java 截取字元串第一個字元

使用substring() 方法返回字元串的子字元串。詳細解析如下:

1、語法:

(1)public String substring(int beginIndex)。

(2)public String substring(int beginIndex, int endIndex)。

2、參數:

(1)beginIndex -- 起始索引(包括), 索引從 0 開始。

(2)endIndex -- 結束索引(不包括)。

3、返回值:

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

4、substring函數存在的拋出錯誤:

IndexOutOfBoundsException - 如果 beginIndex 為負,或 endIndex 大於此 String 對象的長度,或 beginIndex 大於 endIndex。

5、實例代碼如下:

Ⅵ 求截取帶中文的字元串的java方法。

樓主你好,很高興能回答你這個很有挑戰性的問題,首先我談談我對上面9個例子的理解,即這個方法應該實現的功能:

這個方法與JDKString原有的方法substring是有區別的,在這個方法里,一個中文漢字相當於佔2個英文字元的位置。而且根據方法傳入的參數pStart和pEnd在返回相應的子字元串child

如果pstart剛好在某個漢字的前半部分,則child應包含該漢字,在後部分則不含。與之相對應的是pEnd如果在某個漢字的後半部分,則child應含該漢字,否則不包含,如果pStart超出pStr的長度(這里一個漢字長度算2),則返回空,其他性質和JDK的性質形同。

如果覺得我的理解不錯,且看下面的代碼:

publicclassTest{

publicTest(){

Stringstr="ABCDE";

Stringstr2="ABC你D";

Stringstr3="A你B好C嗎勇DE";

System.out.println("1str='ABCDE'start=1end=5結果:"+getSubString(str,1,5));

System.out.println("2str='ABCDE'start=1end=4結果:"+getSubString(str,1,4));

System.out.println("3str='ABCDE'start=2end=4結果:"+getSubString(str,2,4));

System.out.println("4str='ABCDE'start=6end=7結果:"+getSubString(str,6,7));

System.out.println("5str='ABCDE'start=5end=5結果:"+getSubString(str,5,5));

System.out.println("6str2='ABC你D'start=1end=3結果:"+getSubString(str2,1,3));

System.out.println("7str2='ABC你D'start=1end=4結果:"+getSubString(str2,1,4));

System.out.println("8str2='ABC你D'start=1end=5結果:"+getSubString(str2,1,5));

System.out.println("9str2='ABC你D'start=4end=4結果:"+getSubString(str2,4,4));

System.out.println("10str3='A你B好C嗎勇DE'start=9end=10結果:"+getSubString(str3,9,10));

}

publicstaticvoidmain(Stringargs[]){

newTest();

}

publicStringgetSubString(Stringstr,intpstart,intpend){

Stringresu="";

intbeg=0;

intend=0;

intcount1=0;

char[]temp=newchar[str.length()];

str.getChars(0,str.length(),temp,0);

boolean[]bol=newboolean[str.length()];

for(inti=0;i<temp.length;i++){

bol[i]=false;

if((int)temp[i]>255){//說明是中文

count1++;

bol[i]=true;

}

}

if(pstart>str.length()+count1){

resu=null;

}

if(pstart>pend){

resu=null;

}

if(pstart<1){

beg=0;

}else{

beg=pstart-1;

}

if(pend>str.length()+count1){

end=str.length()+count1;

}else{

end=pend;//在substring的末尾一樣

}

//下面開始求應該返回的字元串

if(resu!=null){

if(beg==end){

intcount=0;

if(beg==0){

if(bol[0]==true)

resu=null;

else

resu=newString(temp,0,1);

}else{

intlen=beg;//zheli

for(inty=0;y<len;y++){//表示他前面是否有中文,不管自己

if(bol[y]==true)

count++;

len--;//想明白為什麼len--

}

//for循環運行完畢後,len的值就代表在正常字元串中,目標beg的上一字元的索引值

if(count==0){//說明前面沒有中文

if((int)temp[beg]>255)//說明自己是中文

resu=null;//返回空

else

resu=newString(temp,beg,1);

}else{//前面有中文,那麼一個中文應與2個字元相對

if((int)temp[len+1]>255)//說明自己是中文

resu=null;//返回空

else

resu=newString(temp,len+1,1);

}

}

}else{//下面是正常情況下的比較

inttemSt=beg;

inttemEd=end-1;//這里減掉一

for(inti=0;i<temSt;i++){

if(bol[i]==true)

temSt--;

}//循環完畢後temSt表示前字元的正常索引

for(intj=0;j<temEd;j++){

if(bol[j]==true)

temEd--;

}//循環完畢後temEd-1表示最後字元的正常索引

if(bol[temSt]==true)//說明是字元,說明索引本身是漢字的後半部分,那麼應該是不能取的

{

intcont=0;

for(inti=0;i<=temSt;i++){

cont++;

if(bol[i]==true)

cont++;

}

if(pstart==cont)//是偶數不應包含,如果pstart<cont則要包含

temSt++;//從下一位開始

}

if(bol[temEd]==true){//因為temEd表示substring的最面參數,此處是一個漢字,下面要確定是否應該含這個漢字

intcont=0;

for(inti=0;i<=temEd;i++){

cont++;

if(bol[i]==true)

cont++;

}

if(pend<cont)//是漢字的前半部分不應包含

temEd--;//所以只取到前一個

}

if(temSt==temEd){

resu=newString(temp,temSt,1);

}elseif(temSt>temEd){

resu=null;

}else{

resu=str.substring(temSt,temEd+1);

}

}

}

returnresu;//返回結果

}

}

測試結果如圖,並且可以任意修改字元串,保證結果正確。

That'sall!

Ⅶ java中如何截取字元串中的指定一部分

java用substring函數截取string中一段字元串

在String中有兩個substring()函數,如下:

一:String.substring(intstart)

參數:

start:要截取位置的索引

返回:

從start開始到結束的字元串

例如:Stringstr="helloword!";System.out.println(str.substring(1));

System.out.println(str.substring(3));

System.out.println(str.substring(6));

將得到結果為:

elloword!

loword!

ord!

如果start大於字元串的長度將會拋出越界異常;

二:String.substring(intbeginIndex,intendIndex)

參數:

beginIndex開始位置索引

endIndex結束位置索引

返回:

從beginIndex位置到endIndex位置內的字元串

例如:Stringstr="helloword!";

System.out.println(str.substring(1,4));

System.out.println(str.substring(3,5));

System.out.println(str.substring(0,4));

將得到結果為:

ell

lo

hell

如果startIndex和endIndex其中有越界的將會拋出越界異常。

Ⅷ Java如何截取字元串

這個是個JSON 字元串。使用json相關的庫處理,比如Json-Path。
import com.jayway.jsonpath.JsonPath;

public class Main{
public static void main(String[] args) {
String json = "{\"第一個數\":\"1\",\"第二個數\":\"2\"}";

var number1 = JsonPath.read(json, "$.第一個數");
System.out.println(number1);
var number2 = JsonPath.read(json, "$.第二個數");
System.out.println(number2);
}
}

Ⅸ java截取指定字元串中的某段字元如何實現

如下圖,給你貼出了代碼段。可以利用字元串的substring函數來進行截取。

結果是:456789(注意:包括4。)

示例:

"hamburger".substring(3,8) returns "burge"

"smiles".substring(0,5) returns "smile"

Ⅹ java怎麼把字元串中的的漢字取出來

1.判斷字元串是否全是漢字。

String str1 = "java判斷是否為漢字"

String str2 = "全為漢字"

String reg = "[\u4e00-\u9fa5]+"

boolean result1 = str1.matches(reg)//false

boolean result2 = str2.matches(reg)//true

2.提取字元串中的漢字。

String str = "java怎麼把asdasd字元串中的asdasd的漢字取出來"

String reg = "[^u4e00-u9fa5]"

str = str.replaceAll(reg, " ")

System.out.println(str)

3.判斷字元串中是否含有漢字。

boolean result = (str.length() == str.getBytes().length)//true:無漢字 false:有漢字

4.獲取字元串中漢字的個數。

int count = 0

String reg = "[\u4e00-\u9fa5]"

String str = "java獲取漢字Chinese的個數"

Pattern p = Pattern.compile(reg)

Matcher m = p.matcher(str)

while (m.find()) {for (int i = 0; i <= m.groupCount(); i++) {count = count + 1}}

System.out.println("共有漢字 " + count + "個 ")

閱讀全文

與java截取中文字元串相關的資料

熱點內容
皓強工具解壓步驟 瀏覽:688
部隊抗洪搶險命令範文 瀏覽:886
歐姆龍plc編程軟體使用教程 瀏覽:592
ai文件pdf 瀏覽:911
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:654
王者程序員都有誰 瀏覽:76
給牛換腳掌解壓 瀏覽:387
圍棋有多少種演算法 瀏覽:602
unity資源包在哪個文件夾 瀏覽:704
阿里雲伺服器遠程鏈接不成功 瀏覽:482
文件系統pdf 瀏覽:767
原神安卓區服什麼意思 瀏覽:37
貝殼app怎麼線上發布 瀏覽:161
如何挑選安卓系統機頂盒 瀏覽:54
安卓快充使用有什麼注意事項 瀏覽:911