Hampir setiap bahasa memiliki fungsi bawaan yang dapat memisahkan string pada posisi tertentu. Namun, segera setelah Anda memiliki tag html di string, fungsi bawaan tidak akan berfungsi dengan baik.
Tugas Anda adalah menulis sebuah program atau fungsi yang membagi string pada karakter ke-n tetapi tidak menghitung karakter dari tag html dan akan menghasilkan html yang valid. Program harus tetap memformat. Spasi di luar tag html dapat dihitung atau tidak dihitung, seperti yang Anda inginkan, tetapi harus dipertahankan. Anda dapat, bagaimanapun, menukar banyak ruang berurutan menjadi satu ruang.
Memasukkan:
- string
- posisi untuk dibagi pada (berbasis 0)
Ini dapat diambil sebagai argumen program atau fungsi atau dapat dibaca dari input standar.
Output: String split yang dapat dikembalikan atau ditulis ke output standar.
Masukan akan menjadi html yang valid, tidak akan mengandung entitas apa pun (seperti
). Tag yang dibuka setelah batas karakter harus dihilangkan dari output (lihat contoh terakhir).
Contoh:
Input:, <i>test</i>
3
Output:<i>tes</i>
Input:, <strong><i>more</i> <span style="color: red">complicated</span></strong>
7
Output:<strong><i>more</i> <span style="color: red">co</span></strong>
Input:, no html
2
Output:no
Input:, <b>no</b> <i>html root</i>
5
Output:<b>no</b> <i>ht</i>
Input:, <b>no img</b><img src="test.png" />more text
6
Output:<b>no img</b>
Anda dapat menggunakan bahasa apa saja dan perpustakaan standar dari bahasa yang diberikan. Ini golf kode, program terpendek yang menang. Selamat bersenang-senang!
<
dan>
bukannya<>
, jadi tidak (<
atau>
tidak akan hadir juga).<i>ab</i><b>cd</b> 1
?<i>a</i>
?<i>a</i><b></b>
(Yang masuk akal jika Anda menganggap itub
bisa jugadiv
atauimg
.)Jawaban:
Jawaban ini tidak lagi valid dengan aturan terbaru.
Javascript ( ES6 )
9491Tidak Disatukan:
sumber
Rebol - 252 karakter
Tidak dikoleksi dengan komentar:
Contoh di konsol Rebol:
sumber
Ruby ... Sangat tidak suka dengan loop
sumber
(IE) JS - 135
function f(t,n){b=document.body;b.innerHTML=t;r=b.createTextRange();r.moveStart("character",n);r.select();r.execCommand('cut');return b.innerHTML}
Sekarang saya merasa kotor. Tapi harus mulai menghapus semua karakter itu ...Penolakan:
sumber