Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

10

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi muốn chuyển đổi chuỗi đa dòng Python thành một dòng. Nếu tôi mở chuỗi trong Vim, tôi có thể thấy ^m ở đầu mỗi dòng. Làm thế nào để tôi xử lý chuỗi để làm tất cả trong một dòng duy nhất với phân tách tab giữa mỗi dòng. Ví dụ trong vim có vẻ như:

  Serialnumber
 ^MName           Rick
 ^MAddress           902, A.street, Elsewhere

Tôi muốn nó là một cái gì đó như:

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......

trong đó mỗi chuỗi nằm trong một dòng. Tôi đã thử

   somestring.replace(r'\r','\t')

Nhưng nó không hoạt động. Ngoài ra, một khi chuỗi nằm trong một dòng duy nhất nếu tôi muốn một dòng mới (Unix newline?) Ở cuối chuỗi làm thế nào tôi sẽ làm điều đó?

Hỏi ngày 1 tháng 8 năm 2013 lúc 21:21Aug 1, 2013 at 21:21

Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

user2441441user2441441user2441441

1.1614 Huy hiệu vàng24 Huy hiệu bạc41 Huy hiệu đồng4 gold badges24 silver badges41 bronze badges

Đã xóa câu trả lời trước đây của tôi vì tôi nhận ra nó là sai và tôi cần kiểm tra giải pháp này.

Giả sử rằng bạn đang đọc cái này từ tệp, bạn có thể làm như sau:

f = open('test.txt', 'r')
lines = f.readlines()
mystr = '\t'.join([line.strip() for line in lines])

Như Ep0 đã nói, ^m đại diện cho '\ r', mà ký tự trả về trong Windows. Thật đáng ngạc nhiên khi bạn sẽ có ^m ở đầu mỗi dòng vì ký tự dòng Windows là \ r \ n. Có ^m ở đầu dòng chỉ ra rằng tệp của bạn chứa \ n \ r thay thế.

Bất kể, mã trên sử dụng danh sách hiểu để lặp qua từng dòng được đọc từ ____10. Đối với mỗi

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
1 trong
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
2, chúng tôi gọi
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
3 để loại bỏ bất kỳ ký tự trắng và không in nào từ các đầu của mỗi dòng. Cuối cùng, chúng tôi gọi
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
4 trong danh sách kết quả để chèn các tab.

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 23:52Aug 1, 2013 at 23:52

VortityvortityVorticity

4.1743 huy hiệu vàng28 Huy hiệu bạc46 Huy hiệu đồng3 gold badges28 silver badges46 bronze badges

8

Bạn có thể thay thế "\ r" ký tự bằng "\ t".

my_string.replace("\r", "\t")

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 21:27Aug 1, 2013 at 21:27

1

Tôi sử dụng splutlines () để phát hiện tất cả các loại dòng, và sau đó kết hợp mọi thứ lại với nhau. Bằng cách này, bạn không cần phải đoán để thay thế \ r hoặc \ n, v.v.

"".join(somestring.splitlines())

Đã trả lời ngày 24 tháng 12 năm 2020 lúc 18:21Dec 24, 2020 at 18:21

Tầm râmrouble

15K16 Huy hiệu vàng101 Huy hiệu bạc98 Huy hiệu đồng16 gold badges101 silver badges98 bronze badges

Đó là mã hóa cứng. Nhưng nó đã có tác dụng.

poem='''
If I can stop one heart from breaking,
I shall not live in vain;
If I can ease one life the aching,
Or cool one pain,
Or help one fainting robin
Unto his nest again,
I shall not live in vain.
'''


lst=list(poem)
str=''
for i in lst:
    str+=i
print(str)
lst1=str.split("\n")
str1=""

for i in lst1:
    str1+=i+" "
str2=str1[:-2]
print(str2)

Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

Vlad

7.7675 Huy hiệu vàng28 Huy hiệu bạc44 Huy hiệu đồng5 gold badges28 silver badges44 bronze badges

Đã trả lời ngày 24 tháng 3 năm 2019 lúc 15:40Mar 24, 2019 at 15:40

Điều này xảy ra về cách VIM diễn giải CR (trở lại vận chuyển), được Windows sử dụng để phân định các dòng mới. Bạn chỉ nên sử dụng một biên tập viên (cá nhân tôi thích VIM). Đọc này: vim ^m

Đã trả lời ngày 1 tháng 8 năm 2013 lúc 21:24Aug 1, 2013 at 21:24

ep0ep0ep0

7125 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

1

Thủ thuật này cũng có thể hữu ích, viết

Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
5 dưới dạng
Serialnumber \t Name \t Rick \t Address \t 902, A.street,......
6. Giống :

my_string = my_string.replace(r"\n", "\t")

Đã trả lời ngày 8 tháng 2 năm 2019 lúc 9:16Feb 8, 2019 at 9:16

Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

Taohidul Hồi giáo Hồi giáo Hồi giáoTaohidul Islam

5.1403 Huy hiệu vàng23 Huy hiệu bạc38 Huy hiệu Đồng3 gold badges23 silver badges38 bronze badges

Điều này sẽ làm công việc:

def flatten(multiline):
    lst = multiline.split('\n')
    flat = ''
    for line in lst:
        flat += line.replace(' ', '')+' '
    return flat

Đã trả lời ngày 23 tháng 12 năm 2020 lúc 21:15Dec 23, 2020 at 21:15

Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

EladtaleladtalEladTal

1.6171 Huy hiệu vàng15 Huy hiệu bạc10 Huy hiệu đồng1 gold badge15 silver badges10 bronze badges

Điều này nên làm công việc:
string = """Name           Rick
 Address           902, A.street, Elsewhere"""

single_line = string.replace("\n", "\t")

Đã trả lời ngày 17 tháng 5 năm 2021 lúc 16:46May 17, 2021 at 16:46

Hướng dẫn python convert multiline string to single line - python chuyển đổi chuỗi nhiều dòng thành một dòng

Làm thế nào để bạn chuyển đổi nhiều dòng thành một dòng?

Sao chép và dán văn bản đa dòng được sao chép, nhấp vào tùy chọn "Chuyển đổi" để chuyển đổi văn bản thành một dòng. Phải mất một thời gian để bạn có được văn bản trong một dòng. Khi văn bản được chuyển đổi thành một dòng, bạn có thể xóa nội dung bằng tùy chọn "Xóa". Once copied, click the "convert" option to convert the text into a single line. It takes a while to get you the text in a single line. Once the text is converted into a single line, you can clear the content using the "clear" option.

Làm thế nào để bạn chuyển đổi một chuỗi nhiều dòng thành một danh sách trong Python?

Python: Chia một chuỗi đa dòng thành một danh sách các dòng..
Sử dụng str. Split () và '\ n' để phù hợp với các lần phá vỡ dòng và tạo danh sách ..
str. Splitlines () cung cấp chức năng tương tự với đoạn trích này ..

Làm thế nào để bạn viết nhiều dòng mã trong một dòng trong Python?

Bán kết được sử dụng để phân tách nhiều câu lệnh trên một dòng duy nhất (;).Trong Python, đây là một ví dụ về việc khai báo nhiều biến trong một dòng.. In Python, here's an example of declaring many variables in a single line.

Làm thế nào để bạn phá vỡ một chuỗi dài trong Python?

Phương thức phân chia chuỗi python () Phương thức phân tách một chuỗi thành một danh sách.Bạn có thể chỉ định phân tách, dấu phân cách mặc định là bất kỳ khoảng trắng nào.Lưu ý: Khi MaxSplit được chỉ định, danh sách sẽ chứa số lượng phần tử được chỉ định cộng với một.