Jump to content

Determine if a string is squeezable: Difference between revisions

→‎{{header|Vlang}}: Fixed the emoji problem.
m (→‎{{header|Vlang}}: Improve. Does not appear to have squeezed the emoji string)
(→‎{{header|Vlang}}: Fixed the emoji problem.)
Line 3,544:
 
=={{header|Vlang}}==
{{improve|Vlang|Does not appear to have squeezed the emoji string}}
{{trans|Go}}
<lang vlang>// Returns squeezed string, original and new lengths in
// unicode code points (not normalized).
fn squeeze(s string, c string) (string, int, int) {
mut r := s.runes()
mut t := c.runes()[0]
le, mut del := r.len, 0
for i := le - 2; i >= 0; i-- {
if r[i..i+1] == ct && r[i..i+1] == r[i+1..i+2] {
r.delete(i)
r = r[..i]+r[i+1..]
del++
}
Line 3,561:
}
r = r[..le-del]
return r.string(), le, r.len
}
Line 3,631:
 
specified character = 😍
original : length = 32 8, string = «««😍😀🙌💃😍😍😍🙌»»»
squeezed : length = 32 6, string = «««😍😀🙌💃😍😍😍🙌😍😀🙌💃😍🙌»»»
</pre>
 
9,486

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.