Πώς να αφαιρέσετε τον τελευταίο χαρακτήρα από τη συμβολοσειρά Python;

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

Τεμαχισμός

Η Python υποστηρίζει τον τεμαχισμό αρνητικού δείκτη μαζί με τον θετικό τεμαχισμό. Ο αρνητικός δείκτης ξεκινά από -1 έως -(iterable_length). Θα χρησιμοποιήσουμε τον αρνητικό τεμαχισμό για να πάρουμε τα στοιχεία από το τέλος ενός επαναληπτικού.

  • Ο δείκτης -1 σας δίνει το τελευταίο στοιχείο από τον επαναληπτικό.
  • Ο δείκτης -2 σας δίνει το 2ο τελευταίο στοιχείο από τον επαναληπτικό.
  • Και συνεχίζεται μέχρι το πρώτο στοιχείο.

Ας δούμε ένα παράδειγμα.

name="grtechpc.org"
print(name[-1])
print(name[-len(name)])

Το παραπάνω πρόγραμμα θα εκτυπώσει τους τελευταίους και πρώτους χαρακτήρες από τη συμβολοσειρά χρησιμοποιώντας αρνητικό ευρετήριο.

Πώς αφαιρούμε το τελευταίο στοιχείο από τη συμβολοσειρά χρησιμοποιώντας το slicing; Είναι απλώς μια γραμμή κώδικα. Γνωρίζουμε πώς να εξαγάγουμε ένα μέρος της χορδής χρησιμοποιώντας τεμαχισμό. Ας εφαρμόσουμε το ίδιο πράγμα με έναν αρνητικό δείκτη για να αφαιρέσουμε τον τελευταίο χαρακτήρα από τη συμβολοσειρά.

  • Κόψτε τη συμβολοσειρά από την αρχή μέχρι το τελευταίο στοιχείο πριν.
buggy_name="GeekflareE"
name = buggy_name[:-1]
print(name)

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

  Πώς να ρυθμίσετε το αυτόματο αντίγραφο ασφαλείας με το Deja Dup

Θα λάβετε το grtechpc.org ως έξοδο εάν εκτελέσετε τον παραπάνω κώδικα.

rstrip

Η μέθοδος string rstrip αφαιρεί τους χαρακτήρες από τη δεξιά πλευρά της συμβολοσειράς που της δίνεται. Έτσι, μπορούμε να το χρησιμοποιήσουμε για να αφαιρέσουμε το τελευταίο στοιχείο της συμβολοσειράς. Δεν χρειάζεται να γράψουμε περισσότερο από μια γραμμή κώδικα για να αφαιρέσουμε τον τελευταίο χαρακτήρα από τη συμβολοσειρά.

  • Δώστε το τελευταίο στοιχείο στη μέθοδο strip, θα επιστρέψει τη συμβολοσειρά αφαιρώντας τον τελευταίο χαρακτήρα.

Ας δούμε το απόσπασμα κώδικα.

buggy_name="GeekflareE"
name = buggy_name.rstrip(buggy_name[-1])
print(name)

Δώσαμε τον τελευταίο χαρακτήρα της συμβολοσειράς στη μέθοδο strip. Αφαιρεί τον τελευταίο χαρακτήρα από τη συμβολοσειρά και επιστρέφει ένα αντίγραφο χωρίς τον τελευταίο χαρακτήρα.

  Πώς να διαγράψετε τον λογαριασμό σας στο LinkedIn [Permanently]

Θα εκτυπώσει grtechpc.org στην κονσόλα, αν το εκτελέσετε.

Πρακτικό παράδειγμα – αφαιρέστε την τελευταία λέξη

Ναι, θα εφαρμόσουμε αυτό που έχουμε στις προηγούμενες ενότητες σε ένα πρακτικό παράδειγμα.

Ας υποθέσουμε ότι έχουμε ένα αρχείο που περιέχει πολλές γραμμές κειμένου. Και πρέπει να αφαιρέσουμε την τελευταία λέξη από κάθε γραμμή του αρχείου.

Ακολουθήστε τα παρακάτω βήματα για να γράψετε το πρόγραμμα.

  • Δημιουργήστε ένα αρχείο που ονομάζεται random_text.txt και εμφανίστε μερικές γραμμές κειμένου σε αυτό.
  • Αρχικοποιήστε μια μεταβλητή δεδομένων ως κενή συμβολοσειρά.
  • Ανοίξτε το αρχείο χρησιμοποιώντας τη μέθοδο με και άνοιγμα σε λειτουργία ανάγνωσης και εγγραφής.
  • Διαβάστε το περιεχόμενο του αρχείου χρησιμοποιώντας τη μέθοδο readlines.
  • Επαναλάβετε σε κάθε γραμμή του περιεχομένου.
    • Διαχωρίστε τη γραμμή κειμένου χρησιμοποιώντας τη μέθοδο διαχωρισμού σε λέξεις.
    • Αφαιρέστε την τελευταία λέξη χρησιμοποιώντας μία από τις παραπάνω μεθόδους.
    • Ενώστε το αποτέλεσμα για να σχηματίσετε μια χορδή.
    • Προσθέστε το αποτέλεσμα στη μεταβλητή δεδομένων.
  • Καταργήστε τα δεδομένα από το αρχείο χρησιμοποιώντας μεθόδους αναζήτησης και περικοπής.
  • Γράψτε τα πιο πρόσφατα δεδομένα στο αρχείο χρησιμοποιώντας τη μέθοδο εγγραφής.
  11 Συμβουλές για εργασία από το σπίτι σε Mac

Το αρχείο περιέχει τα ακόλουθα δεδομένα.

This is a sample line for testing. LastWord.
This is a sample line for testing. KillingIt.
This is a sample line for testing. RandomWord.
This is a sample line for testing. DeleteIt.
This is a sample line for testing. RemovingIt.

Δείτε τον κώδικα παρακάτω.

updated_data=""

# opening the file
with open('random_text.txt', 'r+') as file:
    # read the file content
    file_content = file.readlines()

    # iterate over the content
    for line in file_content:

        # removing last word
        updated_line=" ".join(line.split(' ')[:-1])

        # appending data to the variable
        updated_data += f'{updated_line}n'

    # removing the old data
    file.seek(0)
    file.truncate()

    # writing the new data
    file.write(updated_data)

Εάν εκτελέσετε τον παραπάνω κώδικα με το δεδομένο αρχείο, τότε το αρχείο θα έχει τα ακόλουθα ενημερωμένα δεδομένα.

This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.
This is a sample line for testing.

Ελπίζω να σας άρεσε το σεμινάριο.

Καλή κωδικοποίηση 🙂

Ελέγξτε επίσης τις Λειτουργίες Substring στην Python.

Σας άρεσε να διαβάζετε το άρθρο; Τι θα λέγατε να μοιράζεστε με τον κόσμο;