Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove quotes from String in Python

I have a python Code that will recognize speech using the Google STT engine and give me back the results but I get the results in strings with "quotes". I don't want that quotes in my code as I will use it to run many commands and it doesn't work. I haven't tried anything so far as I didn't get anything to try! This is the function in the python code that will recognize speech:

def recog():     p = subprocess.Popen(['./speech-recog.sh'], stdout=subprocess.PIPE,                                             stderr=subprocess.PIPE)     global out,err     out, err = p.communicate()     print out 

This is speech-recog.sh:

#!/bin/bash  hardware="plughw:1,0" duration="3" lang="en" hw_bool=0 dur_bool=0 lang_bool=0 for var in "$@" do     if [ "$var" == "-D" ] ; then         hw_bool=1     elif [ "$var" == "-d" ] ; then         dur_bool=1     elif [ "$var" == "-l" ] ; then         lang_bool=1     elif [ $hw_bool == 1 ] ; then         hw_bool=0         hardware="$var"     elif [ $dur_bool == 1 ] ; then         dur_bool=0         duration="$var"     elif [ $lang_bool == 1 ] ; then         lang_bool=0         lang="$var"     else         echo "Invalid option, valid options are -D for hardware and -d for duration"     fi done  arecord -D $hardware -f S16_LE -t wav -d $duration -r 16000 | flac - -f --best --sample-rate 16000 -o /dev/shm/out.flac 1>/dev/shm/voice.log 2>/dev/shm/voice.log; curl -X POST --data-binary @/dev/shm/out.flac --user-agent 'Mozilla/5.0' --header 'Content-Type: audio/x-flac; rate=16000;' "https://www.google.com/speech-api/v2/recognize?output=json&lang=$lang&key=key&client=Mozilla/5.0" | sed -e 's/[{}]/''/g' | awk -F":" '{print $4}' | awk -F"," '{print $1}' | tr -d '\n'  rm /dev/shm/out.flac 

This was taken from Steven Hickson's Voicecommand Program made for Raspberry Pi

like image 760
Alok Naushad Avatar asked Dec 03 '16 17:12

Alok Naushad


People also ask

How do you remove quotation marks from a string?

To remove double quotes just from the beginning and end of the String, we can use a more specific regular expression: String result = input. replaceAll("^\"|\"$", ""); After executing this example, occurrences of double quotes at the beginning or at end of the String will be replaced by empty strings.

How do you remove double quotes from a string in Python?

Using the strip() Function to Remove Double Quotes from String in Python. We use the strip() function in Python to delete characters from the start or end of the string. We can use this method to remove the quotes if they exist at the start or end of the string.


2 Answers

Just use string methods .replace() if they occur throughout, or .strip() if they only occur at the start and/or finish:

a = '"sajdkasjdsak" "asdasdasds"'   a = a.replace('"', '') 'sajdkasjdsak asdasdasds'  # or, if they only occur at start and end... a = a.strip('\"') 'sajdkasjdsak" "asdasdasds'  # or, if they only occur at start... a = a.lstrip('\"')  # or, if they only occur at end... a = a.rstrip('\"') 
like image 172
smci Avatar answered Sep 16 '22 17:09

smci


You can use eval() for this purpose

>>> url = "'http address'" >>> eval(url) 'http address' 

while eval() poses risk , i think in this context it is safe.

like image 40
koliyat9811 Avatar answered Sep 17 '22 17:09

koliyat9811