给定一个驼峰命名的字符串,将其转换为句子格式

给定一个驼峰命名的字符串,将其转换为句子格式

一个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