Python είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου, γενικής χρήσης, με έμφαση στην αναγνωσιμότητα του κώδικα. Υποστηρίζει διάφορα προγραμματιστικά υποδείγματα, για παράδειγμα, δομημένο, αντικειμενοστρεφή και συναρτησιακό προγραμματισμό. Συχνά, η Python περιγράφεται ως “batteries included”, χάρη στην ολοκληρωμένη τυπική βιβλιοθήκη της.
Σε αυτόν τον οδηγό, θα μάθουμε διάφορους τρόπους αφαίρεσης κενών διαστημάτων από μια συμβολοσειρά στην Python.
Προαπαιτούμενα
Για να εκτελέσετε τα βήματα που παρουσιάζονται σε αυτόν τον οδηγό, θα χρειαστείτε τα ακόλουθα στοιχεία:
-
- Ένα κατάλληλα ρυθμισμένο μηχάνημα Linux, για παράδειγμα, ένα Ubuntu VPS στο CloudSigma.
-
- Ένα κατάλληλα ρυθμισμένο περιβάλλον ανάπτυξης Python. Δείτε το ρύθμιση περιβάλλοντος ανάπτυξης Python στο Ubuntu.
-
- Έναν κατάλληλο επεξεργαστή κειμένου, για παράδειγμα, Brackets, VS Code, Sublime Text, Vim/NeoVim κ.λπ.
Βήμα 1 – Δημιουργία ενός Python Script
Για σκοπούς επίδειξης, θα δημιουργήσουμε ένα Python script remove-space.py και θα τοποθετήσουμε όλο τον κώδικά μας εκεί. Στη συνέχεια, θα εκτελέσουμε το script με τη βοήθεια του διερμηνέα Python.
Αρχικά, δημιουργήστε το Python script:
|
1 |
touch remove-space.py |

Ανοίξτε το script σε έναν επεξεργαστή κειμένου:
|
1 |
nano remove-space.py |

Στη συνέχεια, θα δημιουργήσουμε μια μεταβλητή συμβολοσειράς s και θα της εκχωρήσουμε μια συμβολοσειρά:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

Αν συμπεριλάβουμε τη print() συνάρτηση, μπορούμε να δούμε πώς ερμηνεύεται η συμβολοσειρά:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

Εδώ,
-
- Η
print()συνάρτηση δέχεται μια συμβολοσειρά ως όρισμα.
- Η
-
- Η
print()συνάρτηση μπορεί να ερμηνεύσει χαρακτήρες backslash (ανάστροφης κάθετου).
- Η
Εκτελέστε το script:
|
1 |
python remove-space.py |

Βήμα 2 – Αφαίρεση αρχικών/τελικών κενών διαστημάτων
Με τη βοήθεια της strip() συνάρτησης, μπορούμε να αφαιρέσουμε τους αρχικούς και τελικούς χαρακτήρες μιας συμβολοσειράς.
Ο ακόλουθος κώδικας δείχνει τη χρήση της strip() συνάρτησης στη μεταβλητή s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


Σημειώστε ότι η strip() συνάρτηση αφαιρεί όλα τα αρχικά και τελικά κενά διαστήματα. Αν θέλετε να αφαιρέσετε μόνο τα αρχικά ή τα τελικά κενά διαστήματα, τότε χρησιμοποιήστε lstrip() ή rstrip() αντίστοιχα:
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


Βήμα 3 – Αφαίρεση όλων των κενών διαστημάτων
Με τη βοήθεια της replace() συνάρτησης, μπορούμε να αντικαταστήσουμε περιεχόμενα σε μια συμβολοσειρά. Εκμεταλλευόμενοι αυτή τη δυνατότητα, μπορούμε να αντικαταστήσουμε όλα τα κενά διαστήματα με το τίποτα, αφαιρώντας τα έτσι.
Ας δούμε τη replace() συνάρτηση σε δράση. Δείτε τον ακόλουθο κώδικα:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


Εδώ,
-
- Η πρώτη παράμετρος της
replace()περιγράφει ποιο μοτίβο να αναζητηθεί στη δοθείσα συμβολοσειρά.
- Η πρώτη παράμετρος της
-
- Η δεύτερη παράμετρος της
replace()περιγράφει ποιο θα είναι το περιεχόμενο αντικατάστασης.
- Η δεύτερη παράμετρος της
Βήμα 4 – Αφαίρεση κενών διαστημάτων με χρήση των split() και join()
Σε αυτήν την ενότητα, θα χρησιμοποιήσουμε τις συναρτήσεις split() και join().
-
split(): Παίρνει μια συμβολοσειρά και τη χωρίζει σε μια λίστα. Τα σημεία διαχωρισμού καθορίζονται από έναν οριοθέτη.
-
join(): Παίρνει τη λίστα και την επαναφέρει σε μια ενιαία συμβολοσειρά. Τα μέρη ενώνονται χρησιμοποιώντας ένα μόνο κενό διάστημα (” “).
Ας δούμε αυτές τις συναρτήσεις σε δράση. Ρίξτε μια ματιά στον ακόλουθο κώδικα:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


Εδώ,
-
- Έχουμε συνδυάσει τη χρήση των
split(),join(), καιprint()σε μία μόνο γραμμή.
- Έχουμε συνδυάσει τη χρήση των
-
- Το αποτέλεσμα της συνάρτησης
split()μεταβιβάζεται ως όρισμα στη συνάρτησηjoin()συνάρτηση.
- Το αποτέλεσμα της συνάρτησης
-
- Το αποτέλεσμα της
join()η συνάρτηση μεταβιβάζεται ως όρισμα για τηprint()συνάρτηση.
- Το αποτέλεσμα της
Βήμα 5 – Αφαίρεση κενών διαστημάτων με χρήση της translate()
Στην Python, η translate() συνάρτηση αντικαθιστά καθορισμένους χαρακτήρες με χαρακτήρες που ορίζονται σε ένα λεξικό ή έναν πίνακα αντιστοίχισης.
Σε αυτό το παράδειγμα, πρόκειται να χρησιμοποιήσουμε το string.whitespace λεξικό που περιέχει όλους τους χαρακτήρες κενού διαστήματος.
Ρίξτε μια ματιά στον ακόλουθο κώδικα:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


Βήμα 6 – Αφαίρεση κενού διαστήματος με χρήση Regex
Η κανονική έκφραση (ή “regex” για συντομία) είναι ένα ισχυρό χαρακτηριστικό σε πολλές γλώσσες προγραμματισμού. Κάθε κανονική έκφραση αποτελείται από μια σειρά χαρακτήρων που δημιουργούν ένα μοτίβο αναζήτησης. Μια κανονική έκφραση μπορεί να χρησιμοποιηθεί για να ελέγξει αν μια συμβολοσειρά περιέχει το καθορισμένο μοτίβο.
Η Python υποστηρίζει επίσης regex, βελτιώνοντας σημαντικά τις δυνατότητες επεξεργασίας κειμένου της. Σε αυτήν την ενότητα, θα χρησιμοποιήσουμε regex για να εξαλείψουμε οποιονδήποτε χαρακτήρα κενού διαστήματος βρεθεί στη δοκιμαστική μας συμβολοσειρά.
Ρίξτε μια ματιά στον ακόλουθο κώδικα:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('Remove all spaces:\n', re.sub(r"\s+", "", s), sep='') # το \s ταιριάζει με όλα τα κενά διαστήματα print('Remove leading spaces:\n', re.sub(r"^\s+", "", s), sep='') # το ^ ταιριάζει με την αρχή print('Remove trailing spaces:\n', re.sub(r"\s+$", "", s), sep='') # το $ ταιριάζει με το τέλος print('Remove leading and trailing spaces:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | για συνθήκη OR |


Εδώ,
-
- Εισάγουμε το
re, ένα εξειδικευμένο πακέτο για την εργασία με κανονικές εκφράσεις.
- Εισάγουμε το
Τελικές Σκέψεις
Σε αυτόν τον οδηγό, δείξαμε διάφορους τρόπους διαχείρισης των κενών διαστημάτων σε μια συμβολοσειρά με την Python. Στην πορεία, μάθαμε επίσης την απλή χρήση διαφόρων συναρτήσεων όπως split(), join(), replace(), translate(), κ.λπ.
Ενδιαφέρεστε να μάθετε περισσότερα για την Python; Δείτε τους παρακάτω οδηγούς:
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.