一个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中文网其他相关文章!