Ganti baris baru dengan pembatas koma dengan Notepad ++?


165

Saya punya pertanyaan Notepad ++.

Bagaimana saya bisa mengambil kata-kata di bawah ini di Notepad ++ (yang ada di baris yang berbeda)

Apples
Apricots
Pear
Avocados
Bananas

Dan mengubahnya menjadi paragraf dengan koma di akhir masing-masing? Seperti ini:

Apples, Apricots, Pear, Avocados, Bananas

Jawaban:


324

Buka dialog temukan dan ganti (tekan CTRL+ H).

Kemudian pilih Regular expressiondi bagian 'Mode Pencarian' di bagian bawah.

Di kolom Find whatisikan ini:[\r\n]+

Dalam Replace with:

Ada spasi setelah koma.

Ini juga akan menggantikan garis seperti

Apples

Apricots
Pear

Avocados
Bananas

Dimana ada garis kosong.

Jika garis Anda memiliki spasi kosong, Anda harus menghapusnya terlebih dahulu. Cara paling sederhana untuk mencapai ini adalah

EDIT -> Blank Operations -> Trim Trailing Space

ATAU

TextFX -> TextFX Edit -> Trim trailing spaces

Pastikan untuk mengatur Mode Pencarian ke "Ekspresi reguler".


Jika ada spasi tambahan pada garis yang Anda mungkin untuk _*[\r\n]+. Untuk menangani baris kosong berubah menjadi koma berlebih, Anda dapat melakukan pencarian ekspresi reguler ,_[,_]+dan menggantinya ,_. Atau, paket TextFx memiliki perintah delete blanks lines yang dapat digunakan sebelum menambahkan koma. (Catatan ubah garis bawah ke spasi pada blok kode ini.)
AdrianHHH

ya kamu benar sekali. Saya hanya berusaha memberikan jawaban minimalis. Mungkin saya harus mengedit jawabannya.

2
Ini tidak berfungsi untuk saya: Saya melihat "0 kejadian diganti."
Iain Samuel McLean Penatua

3
@IainElder, Mode Pencarian harus diatur ke "Ekspresi reguler", bukan "Normal" atau "Diperpanjang".
Scott Lawrence

Saya memiliki hasil yang sama dengan Iain.
dhochee

34

Inilah yang berfungsi untuk saya dengan daftar string yang sama di Notepad ++ tanpa makro atau apa pun:

  1. Klik Edit -> Operasi Kosong -> EOL ke luar angkasa [Semua item sekarang harus berada dalam satu baris yang dipisahkan oleh 'spasi']

  2. Pilih sembarang 'spasi' dan lakukan Replace All (by ',')


Sederhana dan elegan, bagus
reggaeguitar

@ Trishul Sungguh Bagus.
himanshupareek66

32

Jawaban fapDaddy menggunakan makro menunjuk saya ke arah yang benar.

Inilah yang bekerja untuk saya.

  1. Tempatkan kursor setelah item data pertama. masukkan deskripsi gambar di sini

  2. Klik 'Makro> Mulai Perekaman' di menu. masukkan deskripsi gambar di sini

  3. Ketik urutan ini: Comma, Space, Delete, End.masukkan deskripsi gambar di sini

  4. Klik 'Makro> Berhenti merekam' di menu. masukkan deskripsi gambar di sini

  5. Klik 'Makro> Jalankan Makro Beberapa Kali ...' di menu. masukkan deskripsi gambar di sini

  6. Klik 'Jalankan hingga akhir file' dan klik 'Jalankan'. masukkan deskripsi gambar di sini

  7. Hapus semua karakter tambahan. masukkan deskripsi gambar di sini

  8. Selesai!

masukkan deskripsi gambar di sini


5
Metode ini lambat untuk ribuan item data.
Iain Samuel McLean Penatua

Jawaban yang bagus Terima kasih :)
Peter T.

Info yang luar biasa, akan berguna dalam banyak situasi serupa. Terima kasih!
Moin

Terima kasih telah berbagi informasi. Ini menarik.
ironman

4

Untuk Notepad ++ 5.9

  1. Tekan Ctrl + H
  2. Pilih mode Pencarian Diperpanjang (\ n, \ r, \ t, \ o, \ x ...)
  3. Masukkan Temukan apa: \ r \ n
  4. Masukkan Ganti dengan: ,
  5. Replace_All harus mendapatkan hasil yang diminta.

3
Jawaban ini mengulangi jawaban yang diterima dan jawaban ini merujuk pada versi antik Notepad ++, versi 7.4.x sekarang tersedia. Selamat datang di Stack Overflow tetapi tolong beri Anda jawaban untuk memberikan informasi baru atau berikan wawasan baru. Mengulangi jawaban yang ada tidak berguna.
AdrianHHH

Untuk versi npp yang lebih baru, ini adalah cara yang lebih baik untuk melakukannya.
nurdyguy

Ini jawaban termudah. Saya tidak harus masuk ke mode Ekspresi Reguler hanya untuk mengganti baris baru dengan koma. N ++ sebenarnya bekerja dengan benar sedangkan editor lain menafsirkan "\ n" sebagai carriage return AND line feed, yang membuat saya bingung pada awalnya.
BrianVPS

3

Tempatkan kursor Anda setelah Apel , di bawah Tab Makro , pilih Mulai Perekaman . Ketik karakter koma ( , ), spasi (), dan tekan tombol Akhiri , di bawah tab Makro, pilih Berhenti Merekam .

Ctrl + Shift + P untuk pemutaran tunggal.


Terima kasih atas tipnya. Bagaimana jika saya memiliki 5000 ++ kata? Apakah saya perlu menjalankan makro untuk semuanya secara individual? Apakah ada metode yang lebih mudah?
user2231530

Jika Anda harus melakukan tugas serupa di masa mendatang, Anda mungkin ingin menulis skrip untuk itu. Jalan keluar yang mudah mungkin hanya pergi ke Macro Tab dan pilih jalankan makro beberapa kali. Itu akan dilakukan dalam hitungan detik.
viclim

+1 Jawaban Anda mengarahkan saya ke arah yang benar. Dalam jawaban saya, saya mendokumentasikan dengan tepat apa yang berhasil bagi saya.
Iain Samuel McLean Penatua

2

Ini mungkin terdengar aneh tetapi Anda dapat menghapus baris berikutnya dengan menyalin seluruh teks dan menempelkannya di bilah pencarian firefox, dan kemudian menempelkannya kembali di notepad ++

Langkah 1

Langkah 2


1
Harap perbaiki jawaban ini. Tautan ke gambar tidak akan berguna.
Drew

2

GUNAKAN Bilah Pencarian Chrome

1-tekan CTRL F
2-tempel teks yang disalin di bilah pencarian
3-tekan CTRL Adiikuti oleh CTRL Cuntuk menyalin teks lagi dari pencarian
4-tempel di Notepad ++
5-ganti 'space'dengan','

1-klik untuk gambar
2-klik untuk gambar


0

Anda dapat menggunakan baris perintah cc.rnl ', 'ConyEdit (sebuah plugin) untuk mengganti baris baru dengan konten yang Anda inginkan.


0

Pertandingan regex dengan \s+bekerja untuk saya:

masukkan deskripsi gambar di sini


BTW: bagi saya sepertinya cocok dengan regex $^harus bekerja, tetapi sebaliknya, cocok ^$.
user3673

Menggunakan opsi "Diperpanjang" tepat di atas opsi "Ekspresi reguler" (dalam tangkapan layar Anda) sebenarnya adalah cara termudah untuk mencapai ini.
nurdyguy
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.