程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java substring & Oracle substr

Java substring & Oracle substr

編輯:關於JAVA
 

暈死,總感覺這兩個東西的用法差不多。可最近發現太TM菜了,決定看下具體api。api中描述很清楚。

Java substring(beginIndex,endIndex); 返回一個新字符串,它是此字符串的一個子字符串。該子字符串從指定的 beginIndex 處開始,直到索引 endIndex - 1 處的字符。因此,該子字符串的長度為 endIndex-beginIndex。注:java中下標從0開始。 Oracle substr(str,beginIndex,endIndex) 這是Oracle中截字符串操作,有三個參數。第一個是要處理的字符串,第二個是字符串的開始位置,第三個是要截取的長度。注:下標從1開始

延伸:

Oralce中還有substrb方法。它的用法、參數個數、參數含義與substr完全相同。區別是:substrb是按字節來算的,二substr是按漢字來算的。如:

select substr('我們都是好孩子',3,4) from dual; 返回:"都是好孩"

select substrb('我們都是好孩子',3,4) from dual; 返回:"們都"

select substrb('我們都是好孩子',4,4) from dual; 返回:" 都 "

結論:substrb,對漢字處理時,當恰好取到一個漢字的開始位(漢字占兩位),則取該漢字,否則忽略此漢字,用單空格替代;到末尾時,恰好取到一個漢字的結束位,則取該漢字,否則用空格替代。

如上例中第二個,3恰好取到“們‘的開始位,向後取四位,即第6,恰好又是”都“的結束位。所以返回值為”們都“。

而上例中第三個,4恰好取到“們‘的結束位位,忽略該漢字,用空格取代。向後取四位,即第7,恰好又是”都“的開始位,也用空格取代。所以返回值為” 都 “。

而在處理英文字符串時,這兩個則完全相同。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved