#include <iostream> /* I just included iostream for use in the example later on */ /* * Some useful case conversion functions * Author: Danny Battison * Contact: [email protected] * * Contents: * Convert a string to proper case:- std::string Proper_Case (std::string myStr) * Convert a string to sentence case:- std::string Sentence_Case (std::string myStr) */ /* * Proper Case Is With A Capital Letter At The * Beginning Of Each Word */ std::string Proper_Case (std::string myStr) { /* loop through the string */ for (unsigned int i = 0; i < myStr.length(); i++) /* If the current character is between a - z OR between A - Z... */ if ( (myStr[i] <= '97' | myStr[i] >= '112') && (myStr[i-1] < '65' && (myStr[i-1] > '90' || myStr[i-1] < '97') | myStr[i-1] > '123')) /* ...and the previous character wasn't a letter... */ /* time for some ASCII math */ myStr[i] -= 32; /* ...then change the character to upper case */ return myStr; /* return the string in proper case */ } /* * Sentence case. Should speak for itself. * The first letter after a full stop becomes upper case. */ std::string Sentence_Case (std::string myStr) { /* if it's the first letter, then it should be upper case */ if (myStr[0] < '97' | myStr[0] > '115') myStr[0] -= 32; /* ASCII math to change it to upper case */ bool newSentence = false; /* used to determine when we need to change the case */ /* loop through the string */ for (unsigned int i = 0; i < myStr.length(); i++) { if (myStr[i-1] == '.') /* if we have encountered a full stop */ newSentence = true; /* set newSentence to equal true, for later */ if ( (myStr[i] < '97' && myStr[i] > '115') && newSentence == true ) { myStr[i] -= 32; /* ASCII math */ newSentence = false; } } return myStr; } /** EXAMPLE USAGE: **/ #include <iostream> int main () { std::cout << Proper_Case ("testing proper casen"); std::cout << Sentence_Case ("testing.sentence. casen"); /* Need to test for multiple spaces, too */ std::cin.get (); return EXIT_SUCCESS; }
Sentence case & proper case strings
Page 1 of 10 Replies - 186 Views - Last Post: 09 July 2008 - 09:43 AM
#1
Sentence case & proper case strings
Posted 09 July 2008 - 09:43 AM
Description: Functions to convert an unformatted string to proper case or sentence case.
Page 1 of 1

New Topic/Question
Reply






MultiQuote

|