Ah, satu lagi kegunaan egoisku dari tumpukan ini .
Menjadi pemilik Chromebook, saya sering menggunakan Ace IDE, editor yang digunakan oleh Cloud9. Ini memiliki banyak alat untuk menangani kelebihan spasi putih, tetapi terutama tidak memiliki satu: membersihkan baris kosong.
Misi Anda hari ini adalah, diberi input dari tempat saya dapat menyalin-tempel ke [ ;)
], menampilkan sesuatu yang identik, menyimpan semua ruang dan tabulator pada baris yang kosong.
Saya akan memberikan beberapa contoh, dengan #
s yang mewakili karakter spasi putih untuk dihapus.
INPUT 1:
if (this.Color !== 'blue') {
##
this.Color = 'blue';
}
KELUARAN:
if (this.Color !== 'blue') {
[empty line]
this.Color = 'blue';
}
INPUT 2:
function outputSomething(times) {
for (var iter = 0; iter < times; iter++) {
console.log('"# # " represents a tabulator');
// This is a comment
# #
}}
KELUARAN:
function outputSomething(times) {
for (var iter = 0; iter < times; iter++) {
console.log('"# # " represents a tabulator');
// This is a comment
[empty line]
}}
INPUT 3:
var x = 'Do you prefer spaces or tabs?';
var y = 'I\'m using both here. Sue me.';
# # ####
console.log(x + ' ' + y);
KELUARAN:
var x = 'Do you prefer spaces or tabs?';
var y = 'I\'m using both here. Sue me.';
[empty line]
console.log(x + ' ' + y);
Anda dapat memproses input sesuka Anda. Output di mana saja, selama saya bisa copy-paste dari itu [ ;)
].
Celah standar berlaku, jawaban terpendek dalam byte menang!
code-golf
string
whitespace
Papayaman1000
sumber
sumber
[empty line]
, atau tidak ada garis sama sekali?Jawaban:
Japt ,
10 8 6 54 byteCobalah online!
Penjelasan
Jadi
mx1R
pisahkan string denganR
yang merupakan baris baru, pangkas sisi kanan setiap baris menggunakanx1
dan bergabung dengan string lagi dengan baris baru.Disimpan 2 byte berkat produk ETH.
sumber
®x1}R
.mx1R
untuk menyelesaikan seluruh masalah dalam 4 byte ASCII :-) (Inix1
secara otomatis ditafsirkan olehm
sebagai_x1}
mx1R
bisa berhasil, tapi itu asyik!Retina , 5 byte
Cobalah online!
Pendekatan yang tidak begitu jelas menghadiahi kami dengan skor yang lebih baik :)
Penjelasan
G
menunjukkan ini sebagai tahap Grep, menjaga hanya garis-garis di mana kecocokan dengan regex yang diberikan (\S
, cocok dengan karakter non-spasi) dapat ditemukan. Jika bukan karena permulaan%
ini akan benar-benar menghapus garis, bukan hanya "mengosongkan" mereka.Ini
%
adalah pengubah yang menerapkan tahap satu kali untuk setiap baris dan kemudian bergabung dengan hasil dengan baris baru: dalam kasus kami ini berarti bahwa string kosong yang dikembalikan oleh Grep untuk garis spasi-saja akan menjadi garis kosong di hasilnya.sumber
sed , 6 byte
Cobalah online!
sumber
s
pengganti. Menggunakan kecocokan biasa dang
merupakan cara cerdas untuk menghemat beberapa byte.sed
tidak memiliki\S
atau "sesuatu yang bukan spasi". Atau apakah itu?/\S/!g
V ,
5, 4 byteCobalah online!
Penjelasan:
Hexdump:
sumber
JavaScript (ES6), 26 byte
Saya tidak mengerti mengapa ini mendapatkan begitu banyak upvotes!
Cobalah
sumber
Python 3 ,
635536 byteInput dan output adalah array string. Bergabunglah
'\n'
.Untuk program asli yang dikerjakan I / O:
Cobalah online!
Disimpan 8 byte berkat @Rod!
Disimpan 19 byte berkat @LeakyNun!
sumber
CJam ,
1816 bytePerhatikan bahwa string berisi 1 spasi dan 1 tab.
Cobalah online!
Penjelasan
sumber
Retina , 8 byte
Tantangan yang sangat tidak berguna.
m
membuatnya multiline (mengabaikan baris baru).\s
cocok dengan spasi dan tab.Cobalah online!
sumber
Vim,
2018161310 byteSaya bukan ahli Vim, tetapi pertanyaan ini membutuhkan jawaban Vim.
:%s/^\s*$<cr>
<cr>
adalah carriage return.Changelog:
:norm
bukannya:normal
(-2 byte)*
alih-alih+
berarti kita akan mencocokkan garis yang sudah kosong, tetapi itu tidak masalah. Dan sekarang kita dapat menyingkirkan\v
( opsi yang sangat ajaib ) (-2 byte)sumber
:%s/^\s*$<cr>
AWK ,
1211 byteCobalah online!
Aku hanya merasa AWK seharusnya punya jawaban juga
Ini bekerja dengan:
sumber
APL (Dyalog) ,
1110 byte⎕R
adalah operator yang memperoleh fungsi yang menggantikan barang. Dalam hal ini, apa pun yang cocok dengan RegEx diganti dengan string kosong.sumber
Ruby, 22 byte
Solusi regex langsung
sumber
Java 7, 57 byte
Penjelasan:
Kode uji:
Coba di sini.
sumber
Groovy, 31 byte
sumber
Perl 6 ,
1512 byte15
Cobalah
11 +1
Sebagian besar sama seperti di atas.
-p
menjalankan kode untuk setiap baris input, memasukkan baris ke$_
dan mencetak apa pun yang tersisa$_
.s
menggantikan di tempat, sedangkanS
mengembalikan hasilnya.:g
/:global
karena-p
mengurusnya.sumber
Python 2 , 26 byte
Cobalah online!Input dan output daftar string.
Ini mengambil keuntungan dari putusan dalam komentar bahwa trailing spasi dapat dihapus pada baris yang tidak kosong.
sumber
Vim,
139 byte:v/\S/le↵
Suntingan:
Jawaban asli:
:v/\S/d↵
(berdasarkan pertanyaan vim ini pada SO ).Itu menghapus baris kosong, yang bukan perilaku yang diharapkan.
Jawaban yang valid menggunakan vglobal :
:v/\S/norm D↵
Sekarang gunakan perintah ex -kiri rata bukannya
normal D
sumber
C, 168 byte
Terperinci
sumber
C, 100 byte
Lihat itu berfungsi online .
sumber
QuadR , 5 byte
Cobalah online!
\s+
ganti satu atau lebih karakter spasi putih diikuti dengan$
ujung baristanpa apa-apa
sumber