java string對象上的操作,常見的用法你知道嗎

string

C語言中,一般使用字符數組來表示字符串

	char str[100] = "I love China";

C++中,也可以用到string類型來表示字符串,string和字符數組之間還可以相互轉換,string類型裡提供瞭更多操作字符串的方法,string用起來會更加方便

string也位於std命名空間中, 方便使用可以加: using namespace std;

頭文件:

#include < string >

常用方法:

 

	#include <string>
	
	string s1; //默認初始化, s1 = "", 代表一個空串,裡邊沒有字符
	string s2 = "I love China";  //把字符串拷貝到s2代表的一段內存中, 拷貝時不包括末尾的'\0'.
	string s3("I love China"); //另一種寫法, 同2
	string s4 = s2;  //拷貝s2到s4中, s2,s4兩塊不同內存
	
	int num = 6;
	string s5(num, 'a'); //aaaaaa  , s5初始化為連續num個字符'a'
	//這種方式不推薦, 因為會在系統內部創建臨時對象

string對象上的操作 

1.判斷是否為空

返回佈爾類型

	string s1;
	if (s1.empty())
	{
		cout << "s1為空" << endl;
	}

2.size()/length();

返回類型/字符數量

	string s1;
	cout << s1.size() << endl;       //0
	cout << s1.length() << endl;   //0

	string s2 = "I love China";
	cout << s2.size() << endl;      //12
	cout << s2.length() << endl;  //12
	
	string s3 = "你好";
	cout << s3.size() << endl;      //4
	cout << s3.length() << endl;  //4

 3.s[n]

返回s中的第n個字符, n代表位置, 從0開始, 到size()-1

	string s3 = "I love China";
	if (s3.size() > 4)
	{
		cout << s3[4] << endl;
		s3[4] = 'w';
	}
	cout << s3 << endl;
	//輸出
	//v
	//I lowe China

4.s1+s2

字符串連接

	string s1 = "abcd";
	string s2 = "hijk";
	cout << s1 + s2 << endl;  //abcdhijk

5.s1 = s2

賦值

 

	string s1 = "abcd";
	string s2 = "ab";
	s1 = s2;
	cout << s1 << endl;
	//輸出
	//ab

6.s1 == s2

判斷是否相等

註意:大小寫敏感

	string s1 = "ab";
	string s2 = "ab";
	if (s1 == s2)
	{
		cout << "相等" << endl;
	}

7. s1 != s2

同上反例

8. s.c_str()

返回一個字符串s中的內容指針,返回是一個指向正規C字符串的常量指針, 所以是以’\0’結尾的.

	string s1 = "abc";

	//返回"abc"的內存指針
	const char* p = s1.c_str();
	char str[100];
	strcpy_s(str, sizeof(str), p);
	cout << str << endl;

9.相加””+”

例:

	string s1 = "abc";
	string s2 = "abC";

	cout << s1 + " and " + s2 + 'D' << endl;//abc and abCD

10.范圍for

c11中范圍for: 能夠遍歷序列中的每一個元素

	string s1 = "I love China";
	for (auto c : s1)    //char  auto自動推斷
	{
		cout << c;   //I love China
	}

例2:

	string s1 = "I love China";
	for (auto &c : s1)
	{
		//toupper() 小寫轉大寫, 大寫沒變化  
		//tolower() 大轉小
		c = toupper(c);  //因為c是一個引用, 所以這相當於改變s1中的值
	}
	cout << s1;   //I LOVE CHINA

總結

本片文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!

推薦閱讀: