Categories
Mastering Development

Convert the string to a string in which the words are separated by spaces and only the first word starts with an uppercase letter

I am trying to make a script that will accept a string as input in which all of the words are run together, but the first character of each word is uppercase. It should convert the string to a string in which the words are separated by spaces and only the first word starts with an uppercase letter.

For Example (The Input):

"StopWhateverYouAreDoingInterestingIDontCare"

The expected output:

"Stop whatever you are doing interesting I dont care"

Here is the one I wrote so far:

string_input = "StopWhateverYouAreDoingInterestingIDontCare"

def organize_string():
   start_sentence = string_input[0] 
   index_of_i = string_input.index("I")
   for i in string_input[1:]: 
      if i == "I" and string_input[index_of_i + 1].isupper(): 
           start_sentence += ' ' + i 
      elif i.isupper():      
           start_sentence += ' ' + i.lower()
      else: 
           start_sentence += i
return start_sentence

While this takes care of some parts, I am struggling with differentiating if the letter "I" is single or a whole word. Here is my output:

"Stop whatever you are doing interesting i dont care"

Single "I" needs to be uppercased, while the "I" in the word "Interesting" should be lowercased "interesting".

I will really appreciate all the help!

Leave a Reply

Your email address will not be published. Required fields are marked *