Làm cách nào để xóa nguyên âm khỏi chuỗi trong python?

ý tưởng thật đơn giản. Ta sẽ duyệt lần lượt từng ký tự, nếu ký tự nào là nguyên âm thì sẽ thay thế bằng ký tự trống. Dưới đây là chương trình hoàn chỉnh

import re

vowels = 'aeiouAEIOU'

given_str = input["Enter a string : "]
final_str = given_str

for c in given_str:
    if c in vowels:
        final_str = final_str.replace[c,""]

print[final_str]

  • nguyên âm chứa tất cả các nguyên âm trong cả chữ thường và chữ hoa
  • Given_str là chuỗi đầu vào của người dùng. Chúng tôi đã khởi tạo thêm một biến final_str chứa chuỗi đầu vào của người dùng ngay từ đầu
  • Chúng tôi đang sử dụng một vòng lặp for để lặp lại các ký tự. Nếu bất kỳ ký tự nào nằm trong chuỗi nguyên âm, chúng tôi sẽ thay thế ký tự đó bằng một ký tự trống và gán kết quả lại cho final_str
  • Khi vòng lặp kết thúc, chúng tôi sẽ in kết quả i. e. final_str

Đầu ra mẫu

Enter a string : Hello world !
Hll wrld !

Enter a string : HeLLO WORLD !!
HLL WRLD !!

Phương pháp 2. Sử dụng biểu thức chính quy

Python cung cấp mô-đun re để hoạt động với các biểu thức chính quy. Mô-đun này có rất nhiều phương thức hữu ích được định nghĩa. Một trong các phương thức sub của nó được sử dụng để thay thế các chuỗi con trong một chuỗi bằng biểu thức chính quy

Chúng tôi sẽ sử dụng phương pháp này để xóa tất cả các nguyên âm khỏi chuỗi với sự trợ giúp của regex

Phương pháp này được định nghĩa như dưới đây

re.sub[pattern, repl, string, count=0, flags=0]

Nơi đây,

  • mẫu là mẫu regex
  • repl là chuỗi thay thế
  • chuỗi là chuỗi chúng tôi đang làm việc trên
  • số lượng là số lượng thay thế chúng tôi muốn
  • cờ là cờ chúng tôi đang chuyển đến biểu thức chính quy

Nó trả về chuỗi sửa đổi mới

import re

vowels_pattern = r'[AEIOU]'

given_str = input["Enter a string : "]
final_str = re.sub[vowels_pattern, '', given_str, flags=re.IGNORECASE]

print[final_str]

Enter a string : Hello Universe !
Hll nvrs !

Enter a string : Hello WORLD !
Hll WRLD !

Phương pháp 3. sử dụng tham gia

Đơn giản thôi, chúng ta sẽ đặt tất cả các ký tự của chuỗi không phải là nguyên âm vào một mảng và nối chúng thành một chuỗi

import re

vowels = 'aeiouAEIOU'

given_str = input["Enter a string : "]
final_str = ''.join[[ch for ch in given_str if ch not in vowels]]

print[final_str]

Nó sẽ cho đầu ra như trong các ví dụ trên

Phương pháp 4. Sử dụng dịch chuỗi

phương thức dịch có thể được sử dụng để thay thế hoặc dịch các ký tự trong chuỗi bằng bảng ánh xạ. Trong trường hợp của chúng tôi, ví dụ dưới đây làm điều đó

Nếu bạn thích bài đăng này, hãy chia sẻ nó với bạn bè của bạn. Bạn có muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên hay bạn có thấy điều gì không đúng không? . Cảm ơn bạn

Giả sử chúng ta có một chuỗi, chúng ta phải loại bỏ tất cả các nguyên âm khỏi chuỗi đó. Vì vậy, nếu chuỗi giống như “iloveprogramming”, thì sau khi loại bỏ các nguyên âm, kết quả sẽ là −"lvprgrmmng"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • tạo một mảng nguyên âm, đang giữ [a,e,i,o,u]
  • cho v trong một nguyên âm
    • thay thế v bằng chuỗi trống

Thí dụ

Chúng ta hãy xem triển khai sau đây để hiểu rõ hơn -

Bản thử trực tiếp

class Solution[object]:
   def removeVowels[self, s]:
      s = s.replace["a",""]
      s = s.replace["e",""]
      s = s.replace["i",""]
      s = s.replace["o",""]
      s = s.replace["u",""]
      return s
ob1 = Solution[]
print[ob1.removeVowels["iloveprogramming"]]

Đầu vào

"iloveprogramming"

đầu ra

________số 8

Cập nhật ngày 28-Apr-2020 08. 41. 54

Bài viết này được tạo ra để đề cập đến một số chương trình trong Python, loại bỏ các nguyên âm khỏi một chuỗi do người dùng nhập vào. Dưới đây là danh sách các phương pháp được sử dụng

  • Xóa nguyên âm khỏi chuỗi bằng vòng lặp for
  • Sử dụng cắt chuỗi
  • Sử dụng phương thức thay thế[]

Lưu ý - a, e, i, o, u, A, E, I, O, U đều là nguyên âm

Xóa nguyên âm khỏi chuỗi bằng for Loop

Để xóa tất cả các nguyên âm khỏi một chuỗi trong Python, bạn phải yêu cầu người dùng nhập một chuỗi, sau đó xóa tất cả các nguyên âm khỏi chuỗi đó như trong chương trình dưới đây. Câu hỏi đặt ra là viết chương trình Python để xóa các nguyên âm khỏi chuỗi. Đây là câu trả lời của nó

print["Enter the String: "]
text = input[]

vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U']
newtext = ""
textlen = len[text]

for i in range[textlen]:
    if text[i] not in vowels:
        newtext = newtext + text[i]

print["\nString after removing Vowels: "]
text = newtext
print[text]

Đây là đầu ra ban đầu được tạo bởi chương trình Python này

Bây giờ cung cấp đầu vào nói Codecracker. com và nhấn phím

Enter a string : Hello world !
Hll wrld !

Enter a string : HeLLO WORLD !!
HLL WRLD !!
3 để xóa tất cả các nguyên âm khỏi chuỗi này và in chuỗi mới không có nguyên âm như trong ảnh chụp nhanh bên dưới

Chương trình trên hoạt động theo cách

  • Tôi đã tạo một danh sách tất cả 10 nguyên âm. 5 chữ thường và 5 nguyên âm chữ hoa
  • Sau đó khởi tạo các ký tự, từng ký tự một thành một chuỗi mới, chẳng hạn như văn bản mới, chỉ khi ký tự [sẽ khởi tạo] không có trong [hoặc bằng] bất kỳ nguyên âm nào trong số 10 nguyên âm có sẵn trong danh sách

Lưu ý - Phương thức len[] trả về độ dài của chuỗi được truyền làm đối số của nó

Lưu ý - Phương thức range[] trả về một chuỗi các giá trị. Theo mặc định, bắt đầu bằng 0 và tăng thêm 1 mỗi lần. Tiếp tục cho đến khi giá trị được cung cấp làm đối số của nó

Chạy khô chương trình trên với trình giải mã đầu vào của người dùng. com đi như

  • Các giá trị ban đầu, text = "codescracker. com" [do người dùng nhập], newtext = "", và textlen = 16 [vì độ dài của chuỗi đã cho là 16]
  • Bây giờ quá trình thực thi vòng lặp for bắt đầu, ban đầu i=0 và vì 0 nhỏ hơn textlen hoặc 16, do đó điều kiện được đánh giá là đúng và luồng chương trình đi vào bên trong vòng lặp
  • Điều kiện [nếu] văn bản[i] không có nguyên âm hoặc văn bản[0] không có nguyên âm hoặc "c" không có nguyên âm được đánh giá là đúng, vì "c" là ký tự không có trong danh sách có tên nguyên âm. Do đó, luồng chương trình đi vào bên trong phần thân if này và văn bản mới + văn bản [i] hoặc "" + văn bản [0] hoặc "" + "c" hoặc "c" được khởi tạo thành văn bản mới
  • Bây giờ giá trị của i được tăng lên, vì vậy i=1, vì 1 lại nhỏ hơn 16, do đó điều kiện một lần nữa đánh giá là đúng, do đó luồng chương trình lại đi vào bên trong vòng lặp
  • Lần này, văn bản[i] không có nguyên âm hoặc văn bản[1] không có nguyên âm hoặc "o" không có nguyên âm được đánh giá là sai, vì "o" là ký tự có sẵn trong danh sách có tên nguyên âm. Do đó, luồng chương trình không đi vào bên trong phần thân của if
  • Bây giờ i=2 và lần này, điều kiện nếu, đó là text[i] không ở dạng nguyên âm hoặc text[2] không ở dạng nguyên âm hoặc "d" không ở dạng nguyên âm được đánh giá là đúng, do đó newtext + text[i] hoặc
  • Quá trình này tiếp tục cho đến khi giá trị của i trở thành 16
  • Theo cách này, biến newtext giữ giá trị chuỗi do người dùng nhập nhưng không có bất kỳ nguyên âm nào
  • Vì vậy, đã khởi tạo giá trị của nó thành văn bản và giá trị của văn bản được in dưới dạng chuỗi không có nguyên âm

Phiên bản sửa đổi của chương trình trước đó

Đây là phiên bản sửa đổi của chương trình trước đó. Chương trình này sử dụng vòng lặp for theo cách mà mỗi và mọi ký tự của chuỗi được sao chép từng ký tự một vào c và sử dụng giá trị của c, tôi đã kiểm tra và thực hiện công việc loại bỏ các nguyên âm giống như chương trình trước. Sự khác biệt duy nhất là c được coi là text[i] ở đây

Enter a string : Hello world !
Hll wrld !

Enter a string : HeLLO WORLD !!
HLL WRLD !!
0

Đây là lần chạy mẫu của nó với đầu vào chuỗi Chào mừng bạn đến với Codecracker. com

Lưu ý - Kết thúc = được sử dụng để bỏ qua việc chèn dòng mới bằng print[]

Xóa nguyên âm khỏi chuỗi bằng cách cắt chuỗi

Chương trình này sử dụng tính năng cắt chuỗi để thực hiện công việc loại bỏ các nguyên âm khỏi chuỗi. Chương trình này loại bỏ các nguyên âm khỏi chuỗi mà không sử dụng bất kỳ biến [thứ hai] nào khác

Enter a string : Hello world !
Hll wrld !

Enter a string : HeLLO WORLD !!
HLL WRLD !!
1

Đây là lần chạy mẫu của nó với đầu vào chuỗi giống như lần chạy mẫu trước

Trong chương trình trên, câu lệnh sau

Enter a string : Hello world !
Hll wrld !

Enter a string : HeLLO WORLD !!
HLL WRLD !!
2

nói rằng, ngoại trừ ký tự tại chỉ mục thứ i, tất cả các ký tự trước và sau chỉ mục thứ i, được thêm vào và khởi tạo thành văn bản dưới dạng giá trị mới của nó

Lưu ý - Trong khi cắt chuỗi bằng cách sử dụng các cặp chỉ mục bên trong dấu ngoặc vuông, nghĩa là [. ], số chỉ mục trước dấu hai chấm được bao gồm và số chỉ mục sau dấu hai chấm bị loại trừ

Lưu ý - Để trống trước. [dấu hai chấm] trong [. ] đề cập đến 0 và trống sau. [dấu hai chấm] trong [. ] đề cập đến giá trị độ dài của chuỗi

Xóa nguyên âm khỏi chuỗi bằng thay thế []

Chương trình này sử dụng phương thức replace[] để thay thế nguyên âm không có gì [""]. Vì vậy, lần lượt tất cả các nguyên âm bị xóa bằng "", trống. Hãy cùng xem chương trình

Remove[] có hoạt động trên chuỗi Python không?

Bạn có thể xóa một ký tự khỏi chuỗi Python bằng cách sử dụng hàm thay thế[] hoặc dịch[] . Cả hai phương thức này đều thay thế một ký tự hoặc chuỗi bằng một giá trị đã cho. Nếu một chuỗi trống được chỉ định, ký tự hoặc chuỗi bạn chọn sẽ bị xóa khỏi chuỗi mà không cần thay thế.

Bạn có thể xóa các ký tự khỏi chuỗi trong Python không?

Trong Python, bạn có thể sử dụng các phương thức replace[] và translate[] để chỉ định ký tự nào bạn muốn xóa khỏi chuỗi và trả về kết quả chuỗi mới đã sửa đổi. It is important to remember that the original string will not be altered because strings are immutable.

Chủ Đề