Maison  >  Article  >  développement back-end  >  Étant donné une chaîne nommée camelCase, convertissez-la au format phrase

Étant donné une chaîne nommée camelCase, convertissez-la au format phrase

WBOY
WBOYavant
2023-08-26 08:57:281176parcourir

Étant donné une chaîne nommée camelCase, convertissez-la au format phrase

Une chaîne C++ est une collection de mots composés de caractères. Il peut contenir des lettres, des chiffres et même des caractères spéciaux. Les phrases de chaînes peuvent être combinées de différentes manières pour former différents types de représentations.

La notation Camel case est une représentation de chaînes qui conserve les deux attributs suivants inchangés -

  • Les mots sont concaténés sans caractères d'espace.

  • La première lettre de chaque mot est stockée en majuscule.

Ainsi, les lettres majuscules dans cette représentation peuvent être utilisées pour séparer différents mots. Ce type de représentation n’est pas facile à lire, mais est largement utilisé en programmation.

Une autre représentation des chaînes est la casse des phrases, où les mots sont séparés par des espaces et tous, sauf le premier mot, commencent par une lettre minuscule.

Dans la question ci-dessous, la casse chameau de la chaîne donnée doit être convertie en représentation de la casse de la phrase.

Quelques exemples pour illustrer l'énoncé du problème sont les suivants -

Exemple Exemple

Exemple 1 - str : IdentifierThe@abc

Sortie : Reconnaître @abc

Remarque : les caractères spéciaux sont également imprimés tels quels

Exemple 2 - str:ThisIsCamelCase

Sortie : Ceci est camelCase

Remarque : La première lettre est imprimée telle quelle lors de la sortie.

Ce problème peut être résolu en vérifiant la casse des caractères et en la convertissant dans la casse opposée si nécessaire.

Algorithme

  • Étape 1 - Utilisez une boucle for pour parcourir la chaîne d'entrée fournie.

  • Étape 2 - Si le pointeur est sur le premier caractère, imprimez-le tel quel.

  • Étape 3 - Pour les caractères restants, si des lettres majuscules sont trouvées, affichez d'abord un caractère espace. La lettre est ensuite convertie en minuscule et affichée.

  • Étape 4 - Sinon, tous les caractères minuscules sont imprimés tels quels. Étape 5 - Sinon, tous les caractères spéciaux sont imprimés tels quels.

Exemple

L'extrait de code suivant prend comme exemple les chaînes camelCase C++ et les convertit en casse de phrase -

//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;
}

Sortie

Entered String :ConvertCamelCaseToSentenceCase
Converted String:Convert camel case to sentence case

Conclusion

S'il s'agit d'une chaîne, la conversion de casse peut être facilement effectuée. La casse des phrases pour les chaînes améliore la lisibilité. Vous pouvez rendre les mots plus faciles à comprendre en les séparant par des espaces. Dans le pire des cas, la complexité temporelle de la méthode spécifiée ci-dessus est O(n), où n est la longueur de la chaîne. L’algorithme fonctionne donc en temps linéaire. La complexité spatiale de l’algorithme spécifié ci-dessus est O(1), qui est de nature constante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer