给定一个驼峰命名的字符串,将其转换为句子格式
一个C++字符串是由字符组成的单词集合。它可以包含字母、数字甚至特殊字符。字符串的句子可以以不同的方式组合在一起,形成不同类型的表示形式。
驼峰命名法是一种字符串的表示方式,它保持以下两个属性不变 -
-
这些词被连在一起,没有空格字符。
-
每个单词的首字母都以大写形式存储。
因此,这种表示形式中的大写字母可用于分隔不同的单词。这种类型的表示形式不易阅读,但在编程领域广泛使用。
另一种字符串的表示方式是句子大小写,其中单词由空格字符分隔,除第一个单词外,所有单词以小写字母开头。
在下面的问题中,给定字符串的驼峰式大小写必须转换为句子大小写表示形式。
说明问题陈述的一些示例如下 -
示例示例
示例1 - str:IdentifyThe@abc
输出:识别@abc
说明:特殊字符也按原样打印
示例2 - str:ThisIsCamelCase
输出:这是驼峰命名法
说明:第一个字母在输出过程中按原样打印。
这个问题可以通过字符大小写检查来解决,如果需要,可以将其转换为相反的大小写。
算法
-
第一步 − 使用for循环遍历提供的输入字符串。
-
步骤 2 - 如果指针位于第一个字符,则按原样打印。
-
步骤 3 - 对于剩余的字符,如果发现大写字母,则首先显示一个空格字符。然后将该字母转换为小写并显示。
-
步骤 4 − 否则,任何小写字符都按原样打印。 步骤 5 - 否则,任何特殊字符都按原样打印。
示例
以下代码片段以驼峰式 C++ 字符串为例,并将其分别转换为句子大小写 -
//including the required libraries
#include
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