I like some ways of how `string.capwords()` behaves, and some ways of how `.title()` behaves, but not one single one.

I need abbreviations capitalized, which `.title()` does, but not `string.capwords()`, and `string.capwords()` does not capitalize letters after single quotes, so I need a combination of the two. I want to use `.title(),` and then I need to lowercase the single letter after an apostrophe only if there are no spaces between.

For example, here's a user's input:

```
string="it's e.t.!"

```

And I want to convert it to:

```
>>> "It's E.T.!"

```

`.title()` would capitalize the 's', and `string.capwords()` would not capitalize the "e.t.".