Removes any non-alphanumeric characters and strips accents (when it can be converted to a single character) - Only allocates a new string if the passed in string is not already normalized
Removes any non-alphanumeric characters and strips accents (when it can be converted to a single character) - Only allocates a new string if the passed in string is not already normalized
Note: This logic should match reverseLowerAlphanumeric() -- EXCEPT that this implementation now only allocates if it needs to
Removes any non-alphanumeric characters and strips accents (when it can be converted to a single character) - Only allocates a new string if the passed in string is not already normalized
Removes any non-alphanumeric characters and strips accents (when it can be converted to a single character) - Only allocates a new string if the passed in string is not already normalized
Note: This logic should match reverseLowerAlphanumeric() -- EXCEPT that this implementation now only allocates if it needs to
Replaces any non-alphanumeric characters with collapsed spaces
Given the original string and a normalized substring, extract the original version of the normalized substring.
Given the original string and a normalized substring, extract the original version of the normalized substring. e.g. Original: "Foo B.O.S.C.H. Bar" Normalized: "bosch" Result: "B.O.S.C.H."
Note: This logic should match lowerAlphanumeric
Converts ASCII Characters in a String to their Unicode Full Width equivalent
Converts an ASCII Character to it's Unicode Full Width equivalent
Converts an ASCII Character to it's Unicode Full Width equivalent
scala> val a = (33 to 126).map{ _.toChar }
a: scala.collection.immutable.IndexedSeq[Char] = Vector(!, ", #, $, %, &, ', (, ), *, +, -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <, =, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, , a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~)
scala> val b = (65281 to 65374).map{ _.toChar } b: scala.collection.immutable.IndexedSeq[Char] = Vector(!, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <, =, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [, \, ], ^, _, `, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, {, |, }, ~)
scala> (a zip b)
res44: scala.collection.immutable.IndexedSeq[(Char, Char)] = Vector((!,!), (","), (#,#), ($,$), (%,%), (&,&), (','), ((,(), (),)), (*,*), (+,+), (,), (-,-), (.,.), (/,/), (0,0), (1,1), (2,2), (3,3), (4,4), (5,5), (6,6), (7,7), (8,8), (9,9), (:,:), (;,;), (<,<), (=,=), (>,>), (?,?), (@,@), (A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z), ([,[), (\,\), (],]), (^,^), (_,_), (,`), (a,a), (b,b), (c,c), (d,d), (e,e), (f,f), (g,g), (h,h), (i,i), (j,j), (k,k), (l,l), (m,m), (n,n), (o,o), (p,p), (q,q), (r,r), (s,s), (t,t), (u,u), (v,v), (w,w), (x,x), (y,y), (z,z), ({,{), (|,|), (},}), (~,~))
Transform the string into something that is URL Friendly.