一, string類的概述
1,字串的連線
2,獲取字串資訊
3,字串操作
4,格式化字串
5,字串生成器
string類
連線字串
對於已宣告的字串,可以對其進行相應的操作。連線字串就是字串操作中較簡單的一種。
可以多個字串進行連線。也可以與其他資料型別進行連線。
當其他型別與字串連線時會自動呼叫tostring方法,將其轉換成字串形式,然後參與連線。
只要是「+」運算子左右其中乙個運算元是字串,編譯器就會把另乙個運算元轉換成字串形式。
如果想要兩個數字相加的結果應該使用括號將它們括起來。因為運算子中圓括號的優先順序最高,所以會先執行圓括號中的內容再與其他字串相連線。
獲取字串資訊
字串作為物件,可以通過相應方法獲取字串的有效資訊,如獲取某字串的長度、某個索引位置的字串。
字串操作
去除字串首尾空格:trim()方法,返回字串的副本,忽略前導空白和尾部空白。
字串替換:replace(char oldchar, char newchar):返回乙個新的字串,它是通過用 newchar 替換此字串**現的所有 oldchar 得到的。如果要替換的字元沒有出現在字串中,則返回原字串。replaceall(string regex, string replacement):使用給定的 replacement 替換此字串所有匹配給定的正規表示式的子字串。
string str = "hello world!";
string newstr = str.replace("l", "a");
system.out.println("替換前的字串:"+str);
system.out.println("替換後的字串:"+newstr);
//執行結果
替換前的字串:hello world!
替換後的字串:heaao worad!
判斷字串的開始與結尾
判斷字串是否相等
字母大小寫轉換
字串分割
將字串轉化位元組(getbytes())或字元(tochararray())陣列
//將字串轉化成char型陣列
char chs = str3.tochararray();//char chs = ;
for (int i = 0; i < chs.length; i++)
//將字串轉化成byte型陣列
byte bys = str3.getbytes();
for (int i = 0; i < bys.length; i++)
格式化字串
格式化字串方法:format(string format, object... args),使用指定的格式字串和引數返回乙個格式化字串。
其中:format - 字串的轉換格式
args - 格式字串中由格式說明符引用的引數。如果還有格式說明符以外的引數,
則忽略這些額外的引數。引數的數目是可變的,可以為 0。
轉換符說明
示例%te
乙個月中的某一天(1~31)
5%tb
指定語言環境的月份簡稱
nov(英)、十一月(中)
%tb月份全稱
november(英)、十一月(中)
%ta星期幾的全稱
tuesday(英)、星期二(中)
%ta星期幾的簡稱
tue(英)、星期二(中)
%tc包括全部日期和時間資訊
星期二 十一月 25 13:37:22 cst 2019
%ty4位年份
2019
%tj一年中的第幾天
309%tm
月份11
%td乙個月中的第幾天
05%ty
2位年份19
轉換符說明示例
%th2位數字的24小時制的小時(00~23)
14%ti
12小時制小時(01~12)
05%tk
24小時制小時(0~23)
5%tl
12小時制小時(1~12)
10%tm
分鐘(00~59)
05%ts
秒數(00~60)
12%tl
3為數字的毫秒數(000~999)
920%tn
9位數字的微秒數(9個0~9個9)
062000000
%tp指定語言環境上午或下午的標記
下午(中文)、pm(英文)
%tz相對於gmt rfc 82格式的數字時區偏移量
+0800
%tz時區縮寫形式的字串
cst%ts
1970-01-01 00:00:00至現在經過的秒數
1572947699
%tq1970-01-01 00:00:00至現在經過的毫秒數
1572947657738
轉換符說明
示例%tf
"年-月-日"格式(4位年份)
2019-11-05
%td"月/日/年"格式(2位年份)
11/05/19
%tr"時:分:秒 pm(am)"格式(12小時制)
03:22:06 下午
%tt"時:分:秒"格式(24小時制)
15:22:06
%tr"時:分"格式(24小時制)
15:22
轉換符說明
示例%c、%c
格式化為字元型別
『a』%d
格式化為十進位制數
10%o
格式化為八進位制數)
11%x、%x
格式化為十六進製制數
4b1字串生成器
insert(int offset, arg):該方法用於想字串生成器中的指定位置插入資料內容。其中:offset:字串生成器的位置。0~此序列的長度。arg:可以是任何形式的資料或者其他物件。
stringbuilder sbu = new stringbuilder("hello");
sbu.insert(1, "world");
system.out.println(sbu.tostring());
//執行結果
hworldello
delete(int start, int end):移除此序列的子字串中的字元。其中:start:將要刪除字串的起點位置。end:將要刪除字串的終點位置。如果start與end相等,則不發生更改。
stringbuilder sbu = new stringbuilder("hello");
sbu.delete(0, 2);
system.out.println(sbu.tostring());
//執行結果
llo
sbu.setlength(int len);//設定當前stringbuilder物件的長度。
sbu.setlength(0);//設定當前stringbuilder物件的長度
reverse():將此字串行用其反轉形式取代。
string str = null;
stringbuilder sb =
newstringbuilder()
; sb.
(str)
; system.out.
println
(sb.
length()
);//4 system.out.
println
(sb)
;//null
stringbuilder sb1 =
newstringbuilder
(str)
;//nullpointerexception
(
)下一章,(22)比較全面的正規表示式的使用
C 提高程式設計(2 1) string容器
3.1.1 string基本概念 本質 string和char 區別 特點 string 類內部封裝了很多成員方法 例如 查詢find,拷貝copy,刪除delete 替換replace,插入insert string管理char 所分配的記憶體,不用擔心複製越界和取值越界等,由類內部進行負責 3....
String類的使用
4.string 代表不可變的字串行。簡稱 不可變性 體現 1.當對字串重新賦值時,需要重寫指定記憶體區域賦值,不能使用原有的value進行賦值。2.當對現有的字串進行連線操作時,也需要重新指定記憶體區域賦值,不能使用原有的value進行賦值。3.當呼叫string的replace 方法修改指定字元...
string類的簡單使用
2017年7月4日 望各位大佬批評指正 string類使用起來比陣列更簡單,要使用string類,必須在程式中包含標頭檔案string。string類位於命名空間std中,因此您必須提供一條using編譯指令。string隱藏了字串的陣列性質,讓您可以像處理普通變數那樣處理字串。include in...