Pembukaan
Dalam penurunan harga Stack Exchange, kami menggunakan ** untuk menebalkan teks. Misalnya, penurunan harga ini:
The **quick brown fox jumps over the lazy** dog.
Render sebagai:
The cepat rubah cokelat melompat di atas malas anjing.
Tentu saja, kami menggunakan ** untuk menutup keberanian juga. Jadi lebih sedikit jawabannya akan berani. Sebagai contoh:
The **quick** brown fox jumps over the **lazy** dog.
Render sebagai:
The cepat rubah cokelat melompat di atas malas anjing.
Namun, jika boldness tidak ditutup, itu menjadikannya tidak berani :
The **quick brown fox jumps over the lazy dog.
Render sebagai:
** Rubah cokelat cepat melompati anjing malas.
Jika teks memiliki garis miring terbalik tunggal \, keberanian tidak berlaku, baik:
The \**quick brown fox jumps over the lazy dog.**
Render sebagai:
** Rubah cokelat cepat melompati anjing malas. **
Trailing white space menghasilkan teks yang tidak dicetak tebal (perhatikan, spasi putih setelah cokelat adalah satu tab):
The** quick** brown fox jumps over the lazy dog.**
Render sebagai:
** Cepat ** rubah cokelat melompati anjing malas. **
Kita juga dapat menggunakan __ untuk huruf tebal, tetapi perhatikan bahwa hanya satu yang dapat aktif sekaligus. Berikut ini contoh yang lebih rumit:
The __quick**__ brown **fox__ jumps** over__ the__ lazy **dog.
Render sebagai:
The cepat ** coklat fox__ melompat over__ the__ anjing ** malas.
Pertanyaan:
Anda dapat menulis sebuah program atau fungsi, mengingat teks ASCII baik sebagai Stringargumen atau STDIN, di mana satu-satunya karakter khusus **, __, \(untuk melarikan diri) dan trailing spasi, menentukan berapa banyak karakter yang berani ada. Nilai ini harus dicetak ke STDOUT atau dikembalikan dari fungsi Anda. Anda tidak perlu mendukung string yang sangat panjang; Panjang string dijamin tidak lebih dari 30K, yang merupakan batas untuk posting Stack Exchange.
Cetak halus:
- Bisakah saya melempar pengecualian / kesalahan lain untuk satu kasus, dan kembali secara normal untuk yang lain?
- Tidak. Ini harus berupa nilai pengembalian yang jelas, tidak ambigu, tidak salah untuk kedua kasus. Output STDERR akan diabaikan.
- Apakah spasi di antara kata-kata dianggap berani?
- Iya.
**quick brown**memiliki 11 karakter tebal di dalamnya.
- Iya.
- Haruskah
\dalam\**, jika tebal, dihitung?- Tidak. Ini merender sebagai **, jadi jika harus dicetak tebal hanya 2 karakter.
- Menjadi sangat jelas: apa yang Anda maksud dengan jumlah karakter
- Total karakter yang akan dicetak tebal. Ini berarti bahwa
**ini tidak diberikan jika mengubah teks, tetapi diberikan jika tidak. - Perhatikan bahwa dimungkinkan untuk dibuat
**tebal dengan beberapa cara, misalnya**\****-> ** . - Jangan mempertimbangkan kemungkinan bahwa beberapa teks dapat dikonversi menjadi miring. Satu- satunya aturan penurunan harga yang harus dipertimbangkan adalah ** = tebal *.
- Total karakter yang akan dicetak tebal. Ini berarti bahwa
- Di Stack Exchange, HTML Bold juga berfungsi. yaitu <b> </b>
- Ya saya sadar. Jangan pertimbangkan hal ini, ini adalah teks normal.
- Bagaimana dengan HTML? misalnya
<-><- Ini juga harus dianggap sebagai teks normal, tidak ada konversi entitas HTML.
- Saya telah memikirkan contoh yang tidak Anda bahas di atas!
- Aturan berfungsi persis seperti jika teks diposting di Stack Exchange, dalam jawaban (bukan komentar), kecuali bahwa blok kode tidak dianggap sebagai karakter khusus . Baik tipe ruang empat dan tipe backtick. Jika Anda tidak yakin tentang bagaimana teks harus diterjemahkan, cukup masukkan ke kotak jawaban di suatu tempat sebagai ujian, itulah aturan yang harus Anda ikuti.
Contoh:
Memasukkan:
The **quick brown fox jumps over the lazy** dog.
Keluaran:
35
Memasukkan:
The **quick brown fox jumps over the lazy dog.
Keluaran:
0
Memasukkan:
The __quick**__ brown **fox__ jumps** over__ the__ lazy **dog.
Keluaran:
18
Memasukkan:
The __quick\____ brown fox **jumps over\** the** lazy \**dog.
Keluaran:
23
Memasukkan:
The****quick brown fox****jumps over **the****lazy** dog.
Keluaran:
11
Celah Standar dilarang.
**fox__ jumps**mengakhiri bold tertentu.
\**atau \__beberapa urutan karakter, tetapi di StackExchange hanya ada dua urutan karakter \*atau \_. Sehingga \***a**menghasilkan tanda bintang diikuti oleh huruf tebal a. Ada juga pelarian lain \\ ,. Haruskah kita menangani yang itu?
18benar untuk kasus uji ketiga?