一個C 字串是由字元組成的單字集合。它可以包含字母、數字甚至特殊字元。字串的句子可以以不同的方式組合在一起,形成不同類型的表示形式。
駝峰命名法是一種字串的表示方式,它保持以下兩個屬性不變 -
這些字被連在一起,沒有空格字元。
每個單字的首字母都以大寫形式儲存。
因此,這種表示形式中的大寫字母可用來分隔不同的單字。這種類型的表示形式不易閱讀,但在程式設計領域廣泛使用。
另一種字串的表示方式是句子大小寫,其中單字由空格字元分隔,除第一個單字外,所有單字以小寫字母開頭。
在下面的問題中,給定字串的駝峰式大小寫必須轉換為句子大小寫表示形式。
說明問題陳述的一些例子如下 -
範例1 - str:IdentifyThe@abc
輸出:辨識@abc
說明:特殊字元也按原樣列印
範例2 - str:ThisIsCamelCase
輸出:這是駝峰命名法
說明:第一個字母在輸出過程中按原樣列印。
這個問題可以透過字元大小寫檢查來解決,如果需要,可以將其轉換為相反的大小寫。
第一步 − 使用for迴圈提供的輸入字串。
步驟 2 - 如果指標位於第一個字符,則按原樣列印。
步驟 3 - 對於剩餘的字符,如果發現大寫字母,則首先顯示一個空格字符。然後將該字母轉換為小寫並顯示。
步驟 4 − 否則,任何小寫字元都會原樣列印。步驟 5 - 否則,任何特殊字元都按原樣列印。
以下程式碼片段以駝峰式 C 字串為例,並將其分別轉換為句子大小寫 -
//including the required libraries #include <bits/stdc++.h> using namespace std; //convert camelcase string to sentence case respectively void sentenceCase(string str){ //getting the length of string int len = str.length(); //iterating over the string for(int i=0;i<len;i++) { //printing the first character of the string if(i==0){ cout << str[0]; } else { //check if current character is in upper case convert to lower case and insert a space before it to separate the words if (str[i] >= 'A' && str[i] <= 'Z'){ //printing a space before character cout << " " ; char ch = (char)tolower(str[i]); //printing the character in lower case cout << ch; } //if character already in lower case print as it is else cout << str[i]; } } } //calling the method int main(){ //sample string string s = "ConvertCamelCaseToSentenceCase"; cout<<"Entered String :"<<s; cout<<"\nConverted String:"; //print the sentence case sentenceCase(s); return 0; }
Entered String :ConvertCamelCaseToSentenceCase Converted String:Convert camel case to sentence case
如果是字串,可以輕鬆進行大小寫轉換。字串的句子大小寫增強了可讀性。透過用空格分隔單詞,可以使單字更容易理解。在最壞的情況下,上述指定方法的時間複雜度為 O(n),其中 n 是字串的長度。因此,該演算法在線性時間內工作。上述指定演算法的空間複雜度為O(1),本質上是常數。
以上是給定一個駝峰命名的字串,將其轉換為句子格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!