Πώς να αφαιρέσετε εισαγωγικά από συμβολοσειρές στην Python

Εισαγωγή

Υπάρχουν διάφοροι τρόποι με τους οποίους μπορείτε να αφαιρέσετε εισαγωγικά από μια συμβολοσειρά στην Python. Ίσως χρειαστεί να αφαιρέσετε όλα τα εισαγωγικά ή μόνο αυτά που περιβάλλουν μια συμβολοσειρά. Μπορεί επίσης να χρειαστεί να αφαιρέσετε μονά ή διπλά εισαγωγικά.

Σε αυτό το σύντομο άρθρο, έχουμε συγκεντρώσει μια ολοκληρωμένη λίστα μεθόδων που μπορείτε να χρησιμοποιήσετε για να αφαιρέσετε εισαγωγικά από μια συμβολοσειρά στην Python. Εξαρτάται απολύτως από εσάς ποια θα χρησιμοποιήσετε. Λάβετε υπόψη ότι οι λύσεις που παραθέτουμε εδώ δεν ταξινομούνται από την καλύτερη προς τη χειρότερη. Κάθε λύση είναι καλή αρκεί να καλύπτει τις ανάγκες σας σε μια συγκεκριμένη περίπτωση.

Πώς να αφαιρέσετε όλα τα εισαγωγικά από μια συμβολοσειρά στην Python

Πρώτα απ 'όλα, ας ρίξουμε μια ματιά στον τρόπο κατάργησης όλων των εισαγωγικών από μια συμβολοσειρά. Οι λύσεις που αναφέρονται σε αυτήν την ενότητα μπορούν να τροποποιηθούν ώστε να λειτουργούν τόσο με μονά όσο και με διπλά εισαγωγικά. Αλλά, για τους σκοπούς αυτού του άρθρου, ας πούμε ότι έχουμε ένα παράδειγμα συμβολοσειράς που έχει τρία διπλά εισαγωγικά:

example_str = '"This is a string" with quotes"'

Σε αυτήν την ενότητα, θα ρίξουμε μια ματιά σε διάφορους τρόπους με τους οποίους μπορείτε να αφαιρέσετε όλους " από το example_str.

str.replace()

Η πρώτη προσέγγιση που θα συζητήσουμε είναι να χρησιμοποιήσουμε το str.replace() μέθοδος στο example_str. Δέχεται δύο ορίσματα – τη συμβολοσειρά που θέλουμε να αντικαταστήσουμε και τη συμβολοσειρά αντικατάστασης. Σε αυτήν την περίπτωση, θα αντικαταστήσουμε ένα διπλό εισαγωγικό (") με κενή συμβολοσειρά:

new_str = example_str.replace('"', '')
print(new_str) 

Η str.replace() που χρησιμοποιείται με αυτόν τον τρόπο θα αφαιρέσει όλα τα διπλά εισαγωγικά από το example_str.

Κανονικές εκφράσεις

Αυτή η προσέγγιση χρησιμοποιεί κανονικές εκφράσεις για να αφαιρέσετε όλα τα εισαγωγικά από μια συμβολοσειρά. Πριν αρχίσουμε να χρησιμοποιούμε κανονικές εκφράσεις στην Python, πρέπει πρώτα να εισαγάγουμε το re μονάδα μέτρησης:

import re

Μετά από αυτό, μπορούμε να χρησιμοποιήσουμε το re.sub() μέθοδος για υποκατάστατο όλες οι εμφανίσεις του εισαγωγικού με την κενή συμβολοσειρά:

new_str = re.sub('"', '', example_str)
print(new_str) 

Αυτό θα μας δώσει το example_str χωρίς εισαγωγικά σε αυτό.

str.join()

Η str.join() είναι μια άλλη μέθοδος που μπορούμε να χρησιμοποιήσουμε για να αφαιρέσουμε όλα τα εισαγωγικά από μια συμβολοσειρά στην Python. Αυτή η λύση έχει λίγο πιο περίπλοκη σύνταξη από άλλες λύσεις, εάν δεν είστε ήδη εξοικειωμένοι με το join() μέθοδος. Ουσιαστικά θα το προσπεράσουμε example_str χαρακτήρα προς χαρακτήρα και προσαρτήστε το καθένα που δεν είναι εισαγωγικό στην κενή συμβολοσειρά. Με αυτόν τον τρόπο, θα πάρουμε το example_str χωρίς εισαγωγικά σε αυτό:

new_str = ''.join(c for c in example_str if c not in '"')
print(new_str) 

Πώς να αφαιρέσετε εισαγωγικά που περιβάλλουν μια συμβολοσειρά

Μέχρι στιγμής, έχουμε συζητήσει διάφορες προσεγγίσεις σχετικά με τον τρόπο κατάργησης όλοι εισαγωγικά από μια συμβολοσειρά στην Python. Αυτός είναι μόνο ένας τρόπος για να δείτε την αφαίρεση εισαγωγικών από μια συμβολοσειρά. Αναμφισβήτητα, το πιο κοινό πρόβλημα είναι ο τρόπος αφαίρεσης μόνο εισαγωγικά που περιβάλλουν μια συμβολοσειρά. Η str.strip() μέθοδος προορίζεται να κάνει ακριβώς αυτό. Ως εκ τούτου, θα συζητήσουμε το str.strip() μέθοδο σε αυτή την ενότητα.

Πες ότι έχουμε ακριβώς το ίδιο example_str όπως και στην προηγούμενη ενότητα, και θέλουμε να αφαιρέσουμε μόνο το πρώτο και το τελευταίο εισαγωγικά:

example_str = '"This is a string" with quotes"'

Χρήση του str.strip() με ένα διπλό παραθετικό ως επιχείρημά του θα αφαιρέσει τα εισαγωγικά από το example_str:

Ρίξτε μια ματιά στον πρακτικό μας οδηγό για την εκμάθηση του Git, με βέλτιστες πρακτικές, πρότυπα αποδεκτά από τον κλάδο και συμπεριλαμβανόμενο φύλλο εξαπάτησης. Σταματήστε τις εντολές του Git στο Google και πραγματικά μαθαίνουν το!

new_str = example_str.strip('"')
print(new_str) 

Σημείωση: Ανεξάρτητα από το πόσα εισαγωγικά βρίσκονται στη συμβολοσειρά, το str.strip() θα τα αφαιρέσει όλα.

Εκτός από το συνηθισμένο str.strip() μέθοδος, υπάρχουν επίσης δύο από τα παράγωγά της – str.lstrip() και str.rstrip(). Το πρώτο αφαιρεί όλα τα κορυφαία εισαγωγικά, και το δεύτερο αφαιρεί όλα τα τελικά εισαγωγικά:

new_str = example_str.lstrip('"')
print(new_str) 

new_str = example_str.rstrip('"')
print(new_str) 

Συμπέρασμα

Σε αυτό το σύντομο άρθρο, ρίξαμε μια περιεκτική ματιά στο πώς να αφαιρέσετε εισαγωγικά από μια συμβολοσειρά στην Python. Πρώτα απ 'όλα, εξηγήσαμε πώς να αφαιρέσετε όλα τα εισαγωγικά από μια συμβολοσειρά χρησιμοποιώντας πολλές διαφορετικές μεθόδους – str.replace(), str.join(), να re.sub(). Στη συνέχεια, ρίξαμε μια ματιά στο str.strip() μέθοδος, καθώς και τα παράγωγά της str.lstrip() και str.rstrip().

Σφραγίδα ώρας:

Περισσότερα από Stackabuse