(21)String類的使用

2021-09-29 08:43:47 字數 4104 閱讀 6836

一, 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...