How to Strip One Set of Double Quotes from Strings in Python

5/5 - (8 votes)

Problem Formulation and Solution Overview

When working with data, you may encounter a string or list of strings containing two (2) double quotes. This article shows you how to remove one set of these double quotes.


πŸ’¬ Question: How would we write code to remove the extra set of double quotes?

We can accomplish this task by one of the following options:


Method 1: Use startswith() and endswith()

This method uses startswith() and endswith() in conjunction with slicing to remove one set of double quotes from a string.

web_name = '""The Finxter Acadcemy""'

if web_name.startswith('"') and web_name.endswith('"'):
    web_name = web_name[1:-1]
print(web_name)

The first line in the above code snippet declares a string containing two (2) sets of double quotes and saves this to the variable web_name.

The following line calls the if statement with the startswith() and endswith() functions. Both functions are passed the argument ('"').

This statement checks to see if web_name starts with and ends with the above argument. If true, the code moves to the next line and, using slicing, removes the specified character.

The results are output to the terminal.

"The Finxter Acadcemy"
Python String Methods [Ultimate Guide]

Method 2: Use Regex

You can use the regex method re.sub() to remove one set of double quotes from a string.

import re

msg = '""Boost Your Python Skills""'
msg = re.sub(r'^"|"$', '', msg)
print(msg )

The first line in the above code snippet imports the re library. This allows access to and manipulation of strings to extract the desired result.

The following line declares a string containing two (2) sets of double quotes and saves this to the variable msg.

The next line uses re.sub() to search this string for any occurrences of double quotes, removes the same and saves the result back to msg. This overwrites the original string.

The results are output to the terminal.

"Boost Your Python Skills"

Another option is to use re.sub() and pass this function two (2) arguments:

  • the string to replace and
  • the string to replace it with.
msg = '""Boost Your Python Skills""'
msg = re.sub('""', '"', msg)
print(msg)
"Boost Your Python Skills"
5 must have skills to become a programmer (that you didn't know)

Method 3: Use replace()

This method uses replace() to remove one set of double quotes from a string.

mission = '""Boost Collective Intelligence""'
mission = mission.replace('""', '"')
print(mission)  

The first line in the above code snippet declares a string containing two (2) sets of double quotes and saves this to the variable mission.

The following appends the replace() function to mission and is passed two (2) arguments:

  • the string to replace, and
  • the string to replace it with.

The results save back to mission. The results are output to the terminal.

"Boost Collective Intelligence"

Method 4: Use list()

This method passes a list containing double quotes to the list function. This option differs from the other options as it removes all double quotes.

user_emails = [""'alice@acme.ca', 'doug@acme.ca', 'fran@acme.ca', 'stan@acme.ca'""]
user_emails = list(user_emails)
print(user_emails)

The first line in the above code contains a list of Finxter user’s emails with double quotes at the beginning and the end.

This saves to user_emails.

The following line uses a list and passes user_emails to it as an argument. The results save back to user_emails and are output to the terminal.

['alice@acme.ca', 'doug@acme.ca', 'fran@acme.ca', 'stan@acme.ca']

πŸ’‘Note: Converting a list containing double quotes to a list removes all double quotes.

How to Create a Python List?

Method 5: Use Pandas

This method uses Pandas to remove all double quotes from a CSV file.

Contents of CSV file

Store,Category,Product,Number
""Toronto"",""Jeans"",""10534"",""15""
""Montreal"",""Tops"",""5415"",""32""
""Ottawa"",""Coats"",""98341"",""22""
import pandas as pd

df = pd.read_csv('quotes.csv',header=None)
df.replace('"', '', inplace=True, regex=True)
print(df)

The above example imports the Pandas library. This library allows access to and manipulation of a Pandas DataFrame.

The following line reads in the CSV file, without the header row into the DataFrame, df.

If output to the terminal, the DataFrame appears as follows:

0123
0ShopCategoryProductNumber
1Toronto””Jeans””10534″”15″”
2Montreal””Tops””5415″”32″”
3Ottawa””Coats””98341″”22″”

πŸ’‘Note: By default, when the CSV file was imported, the beginning double quotes were removed, thus leaving the trailing double quotes.

Next, all occurrences of trailing quotes are replaced (removed) from the DataFrame.

The output of the modified DataFrame, df are output to the terminal.

0123
0ShopCategoryProductNumber
1TorontoJeans1053415
2MontrealTops541532
3OttawaCoats9834122
10 Minutes to Pandas in 5 Minutes (Okay 8)

Summary

This article has provided five (5) ways to remove one set of double quotes from a string and all double quotes to select the best fit for your coding requirements.

Good Luck & Happy Coding!


Programmer Humor – Blockchain

“Blockchains are like grappling hooks, in that it’s extremely cool when you encounter a problem for which they’re the right solution, but it happens way too rarely in real life.” source xkcd