Làm thế nào để bạn thay thế một khoảng trắng bằng một chuỗi rỗng trong python?

Viết chương trình Python để thay thế khoảng trống bằng dấu gạch nối trong một chuỗi bằng hàm thay thế và vòng lặp For với một ví dụ thực tế

Chương trình Python thay thế khoảng trắng bằng dấu gạch nối trong chuỗi Ví dụ 1

Chương trình python này cho phép người dùng nhập một chuỗi. Tiếp theo, chúng tôi đã sử dụng chức năng chuỗi thay thế tích hợp để thay thế khoảng trống bằng dấu gạch nối

# Python program to Replace Blank Space with Hyphen in a String
 
str1 = input["Please Enter your Own String : "]

str2 = str1.replace[' ', '_']

print["Original String :  ", str1]
print["Modified String :  ", str2]

Python thay thế các khoảng trống trong một chuỗi bằng đầu ra Dấu gạch nối

Please Enter your Own String : Hello World Program
Original String :   Hello World Program
Modified String :   Hello_World_Program

Chương trình Python để thay thế khoảng trắng bằng dấu gạch nối trong chuỗi Ví dụ 2

Trong chương trình chương trình này, chúng tôi đã sử dụng Vòng lặp For để lặp từng ký tự trong Chuỗi. Bên trong Vòng lặp For, chúng tôi đang sử dụng Câu lệnh If để kiểm tra xem ký tự Chuỗi có trống hay không. Nếu đúng, Python sẽ thay thế bằng _

# Python program to Replace Blank Space with Hyphen in a String
 
str1 = input["Please Enter your Own String : "]

str2 = ''

for i in range[len[str1]]:
    if[str1[i] == ' ']:
        str2 = str2 + '_'
    else:
        str2 = str2 + str1[i]
        
print["Modified String :  ", str2]

Python thay thế các khoảng trống trong một chuỗi bằng đầu ra Dấu gạch nối

Please Enter your Own String : Hello World!
Modified String :   Hello_World!
>>> 
Please Enter your Own String : Python program Output
Modified String :   Python_program_Output

Chương trình Python để thay thế khoảng trống bằng dấu gạch nối trong chuỗi Ví dụ 3

Chương trình Python thay thế không gian bằng dấu gạch nối này giống như ví dụ trên. Tuy nhiên, chúng tôi đang sử dụng Vòng lặp For với Đối tượng

Khoảng trắng cũng được coi như một ký tự bên trong chuỗi, đôi khi khoảng trắng không cần thiết trong chuỗi sẽ gây ra kết quả sai

Ví dụ: thay vì nhập 'Alex', một người đã nhập tên của mình 'Alex  ' [xem hai dấu cách ở cuối chuỗi] và nếu chúng ta so sánh chúng bằng toán tử '=='

Thí dụ

if 'Alex' == 'Alex  ':
    print ["Hello Alex!"]
else:
    print ["Not found"]

đầu ra

Not found

Đầu ra của chương trình trên sẽ là 'không tìm thấy' và theo cách này, các khoảng trống bổ sung có thể dẫn đến kết quả sai. Do đó, các khoảng trống như vậy nên được xóa khỏi chuỗi trước khi được sử dụng. Điều này có thể thực hiện được bằng cách sử dụng các phương thức rstrip[], lstrip[] và strip[] trong Python. Ba chức năng này thực hiện tương tự, nhưng có một chút khác biệt giữa ba chức năng này

Phương thức FunctionDescriptionrstrip[]rstrip[] loại bỏ khoảng trắng ở cuối chuỗi. Phương thức lstrip[] lstrip[] xóa khoảng trắng ở đầu chuỗi. phương thức strip[]strip[] xóa khoảng trắng ở đầu và cuối [cả hai bên] của chuỗi

Ba phương thức này không loại bỏ khoảng trống giữa các chuỗi và thường được sử dụng khi đầu vào được lấy từ người dùng

Xử lý các chuỗi, đặc biệt là các chuỗi lộn xộn, là công việc hàng ngày của các nhà phát triển Python và nhà khoa học dữ liệu. Một trong những triệu chứng phổ biến nhất của một chuỗi lộn xộn là có những khoảng trắng không cần thiết hoặc trùng lặp trong đó

Cần xóa khoảng trắng khỏi chuỗi của bạn trong Python?

Xóa khoảng trắng khỏi chuỗi

Cần xóa tất cả khoảng trắng khỏi chuỗi trong Python?

Nếu đó chỉ là các ký tự khoảng trắng, bạn có thể sử dụng phương thức chuỗi

>>> no_spaces
'Helloworld!'
0 để thay thế tất cả các khoảng trắng bằng một chuỗi trống

Nếu chúng ta gọi phương thức

>>> no_spaces
'Helloworld!'
0 trên chuỗi
>>> no_spaces
'Helloworld!'
2 này

>>> greeting = " Hello world! "
>>> no_spaces = greeting.replace[" ", ""]

Chuỗi

>>> no_spaces
'Helloworld!'
3 kết quả sẽ bị xóa tất cả các ký tự khoảng trắng

>>> no_spaces
'Helloworld!'

Xóa tất cả khoảng trắng khỏi chuỗi

Nếu bạn đang cố xóa tất cả các loại ký tự khoảng trắng [dấu cách, tab, dòng mới, v.v. ], bạn có thể sử dụng các phương thức chuỗi

>>> no_spaces
'Helloworld!'
4 và
>>> no_spaces
'Helloworld!'
5

Nếu chúng ta gọi

>>> no_spaces
'Helloworld!'
4 trên chuỗi
>>> no_spaces
'Helloworld!'
7 này, Python sẽ phân tách trên tất cả các ký tự khoảng trắng liên tiếp

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']

Phương thức chuỗi

>>> no_spaces
'Helloworld!'
5 có thể nối một chuỗi có thể lặp lại bằng dấu phân cách [xem chuyển đổi danh sách thành chuỗi trong Python]. Nếu chúng tôi tham gia với một dấu phân cách của chuỗi trống [_______6_______9], chúng tôi sẽ xóa tất cả các khoảng trắng một cách hiệu quả

>>> no_spaces = "".join[version.split[]]
>>> no_spaces
'py310'

Nếu cảm thấy thoải mái với biểu thức chính quy, bạn cũng có thể sử dụng biểu thức chính quy để thay thế tất cả các khoảng trắng liên tiếp bằng một chuỗi trống

>>> import re
>>> no_spaces = re.sub[r"\s+", r"", version]
>>> no_spaces
'py310'

Điều gì sẽ xảy ra nếu bạn chỉ cần loại bỏ các khoảng trắng thừa [thu gọn các khoảng trắng liên tiếp]?

Chúng ta có thể sử dụng các phương thức chuỗi

>>> no_spaces
'Helloworld!'
4 và
>>> no_spaces
'Helloworld!'
5 như trước đây, nhưng tham gia vào một ký tự khoảng trắng thay vì một chuỗi trống

>>> version = "\tpy 310\n"
>>> normalized_spaces = " ".join[version.split[]]
>>> normalized_spaces
'py 310'

Lưu ý rằng điều này chuẩn hóa tất cả các ký tự khoảng trắng [vì vậy các dòng mới và các tab cũng sẽ được chuyển đổi] và nó xóa các khoảng trắng ở cuối chuỗi của chúng ta

Xoá khoảng trắng ở đầu và cuối chuỗi

Điều gì sẽ xảy ra nếu bạn chỉ cần xóa khoảng trắng ở đầu và cuối chuỗi của mình?

Bạn có thể sử dụng phương pháp chuỗi

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
2

>>> version = "\tpy 310\n"
>>> stripped_version = version.strip[]
>>> stripped_version
'py 310'

Theo mặc định, phương thức

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
2 sẽ xóa tất cả các ký tự khoảng trắng [không chỉ khoảng trắng]

Phương thức

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
2 cũng chấp nhận một đối số tùy chọn nếu bạn chỉ muốn loại bỏ một ký tự cụ thể. Nó cũng có hai phương thức anh em họ.
>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
5 [để tách từ bên trái] và
>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
6 [để tách từ bên phải]

Nếu bạn chỉ cần xóa một ký tự xuống dòng tùy chọn ở cuối chuỗi của mình, bạn có thể sử dụng

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
2 [chuyển vào ký tự
>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
8]

>>> version = "\tpy 310\n"
>>> no_trailing_newline = version.rstrip["\n"]
>>> no_trailing_newline
'\tpy 310'

Bỏ khoảng trắng ở đầu và cuối mỗi dòng

Điều gì sẽ xảy ra nếu bạn cần loại bỏ khoảng trắng ở đầu và cuối mỗi dòng trong chuỗi của mình?

Bạn có thể tách các dòng của mình bằng

>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
9, sử dụng khả năng hiểu để gọi phương thức
>>> version = "\tpy 310\n"
>>> version.split[]
['py', '310']
2 trên mỗi dòng, sau đó sử dụng phương thức
>>> no_spaces
'Helloworld!'
5 để nối các dòng của bạn lại với nhau bằng các ký tự xuống dòng

>>> string = " Line 1\nLine 2  \n Line 3 \n"
>>> stripped = "\n".join[[
..     line.strip[]
..     for line in string.splitlines[]
.. ]]
...
>>> stripped
'Line 1\nLine 2\nLine 3'

Mặc dù điều này đủ phức tạp để tôi thường bắt đầu tiếp cận các biểu thức chính quy vào thời điểm này

Chủ Đề