8

I have a very long story in Google Docs that contains dialog. I just realized that all the quotation marks that I entered using my laptop are "smart quotes" (curly). And all the quotations that I entered using my android phone are "dumb quotes" (straight). Now I would like to replace all the straight quotes with the smart/curly type. However, using the built-in find&replace tool, when I select a straight quote, it selects all the quotation marks (before and after every quotation). So I need a way to select all the starting quotes and replace them with left-curly marks, and all the ending quotes and replace them with right-curly marks.

I found this video suggestion, but it describes a very difficult/manual process. Is there a way to do this easily? I have hundreds of marks to change.

2 Answers 2

7
  1. In Find and Replace, check the box for "Match using regular expressions."

  2. To find all the starting quotes:

    Find (?<=\s|^)\" and replace all with

    (This means "a straight quotation mark preceded immediately by whitespace or the beginning of the document.")

  3. Once you've replaced all the starting quotes, the remaining ones should all be ending quotes. So:

    Find \" and replace all with

  4. Don't forget single quotes and apostrophes. If you're sure you haven't used any single quotes as quotes, only as apostrophes, you can skip this step. If you may have used some as quotes, use the same pattern:

    Find (?<=\s|^)\' and replace all with

  5. Finally, apostrophes and ending single quotes:

    Find \' and replace all with

Note: There are some rare edge cases that will be misidentified by this, like when a quotation starts immediately after a dash (example). The built in smart quotes feature also misidentifies these. If you think you might have them, I recommend searching for them separately—after the replacements above, you could find them with \B”\b.

There's also an extension that claims to do this, but it didn't work for me (it got some but missed a bunch).

2
  • I would just add to this otherwise-excellent answer, that if you want to do it "manually" (that is, search for every straight quote and decide for yourself what to do with it), then the simple regular expression \" will search only for straight quotes ("), but not for the curly ones ( or ). When I was trying to achieve this, I was desperate for a while because simple search for " will return all kinds of quotes (", and ).
    – FurloSK
    Commented Oct 17, 2023 at 9:06
  • I found this answer to be very helpful but used the following expressions instead. Use (?<=\s)" to match all quotes preceded by spaces, tabs, and newlines. Use "(?=\s) to match all quotes proceeded by spaces, tabs, and newlines. Repeat but replace the quote with a single quote to match nested quotes. Use (?<=\w)\'(?=\w) to match all apostrophes.
    – Steve Chab
    Commented Oct 5 at 11:50
3

I finally found a way to do this and wanted to share it with others who might have the same problem. This answers relies on using the "regular expression" functionality in the Advanced Search. Specifically, it uses so-called "lookbehind" and "lookahead" syntax (described more fully here).

To replace all the starting quotes, we look for every straight quote that has "whitespace" (space character or newline) immediately preceding it, using this regular expression:

   (?<=\W|^)(\")

Then make sure to cut and paste an actual starting curly quote in the Replace With field. The dialog should look like this: Advanced Search for starting quote

Similarly, use the following reg ex to find all the ending quotes. This searches for all straight quotes followed by whitespace. (This will only work if you have used the correct grammatical practice of never placing punctuation directly after a closing quote. Hope you listened to your english teacher!)

    (\")(?=\W|$)

(And, of course, remember to cut&paste a closing curly quote in the Replace With field.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.