1+ /* ------------------------ CONCATENACIÓN DE CADENAS ------------------------ */
2+
3+ // Usando el operador +
4+ let a : string = "Hello" ;
5+ let b : string = "World" ;
6+ let c : string = a + b ; // HelloWorld
7+
8+ // Usando el operador +=
9+ let d : string = "Hello" ;
10+ d += "World" ; // HelloWorld
11+
12+ // Usando template literals
13+ let e : string = `Hello ${ "World" } ` ; // Hello World
14+
15+
16+ /* --------------------------- LONGITUD DE CADENA --------------------------- */
17+
18+ // Usando el .length
19+ let f : string = "Hello" ;
20+ let g : number = f . length ; // 5
21+
22+
23+ /* -------------------------- ACCEDER A CARACTERES -------------------------- */
24+
25+ // Usando el []
26+ let h : string = "Hello" ;
27+ let i : string = h [ 0 ] ; // H
28+ let j : string = h [ 4 ] ; // o
29+
30+ // Usando el .charAt()
31+ let k : string = "Hello" ;
32+ let l : string = k . charAt ( 0 ) ; // H
33+ let m : string = k . charAt ( 4 ) ; // o
34+
35+ // Usando el .charCodeAt()
36+ let n : string = "Hello" ;
37+ let o : number = n . charCodeAt ( 0 ) ; // 72
38+ let p : number = n . charCodeAt ( 4 ) ; // 111
39+
40+
41+ /* -------------------------- MANIPULACIÓN DE CADENAS ----------------------- */
42+
43+ // Usando el .toUpperCase()
44+ let q : string = "Hello" ;
45+ let r : string = q . toUpperCase ( ) ; // HELLO
46+
47+ // Usando el .toLowerCase()
48+ let s : string = "Hello" ;
49+ let t : string = s . toLowerCase ( ) ; // hello
50+
51+ // Usando el .toLocaleLowerCase()
52+ let v : string = "Hello" ;
53+ let w : string = v . toLocaleLowerCase ( ) ; // hello
54+
55+ // Usando el .toLocaleUpperCase()
56+ let x : string = "Hello" ;
57+ let y : string = x . toLocaleUpperCase ( ) ; // HELLO
58+
59+ // Usando el .replace()
60+ let z : string = "Hello" ;
61+ let a2 : string = z . replace ( "H" , "h" ) ; // hell
62+ let b2 : string = z . replace ( "o" , "0" ) ; // HeLl
63+
64+ // Usando el .split()
65+ let c2 : string = "Hello, World" ; // Hello, World
66+ let d2 : string [ ] = c2 . split ( ", " ) ; // ["Hello", "World"]
67+
68+ // Usando el .substring()
69+ let e2 : string = "Hello" ;
70+ let f2 : string = e2 . substring ( 0 , 5 ) ; // Hello
71+ let g2 : string = e2 . substring ( 6 ) ; // World
72+
73+ // Usando el .slice()
74+ let h2 : string = "Hello" ;
75+ let i2 : string = h2 . slice ( 0 , 5 ) ; // Hello
76+ let j2 : string = h2 . slice ( 6 ) ; // World
77+
78+ // Usando el .indexOf()
79+ let k2 : string = "Hello" ;
80+ let gl : number = k2 . indexOf ( "l" ) ; // 2
81+ let m2 : number = k2 . indexOf ( "o" ) ; // 4
82+
83+ // Usando el .lastIndexOf()
84+ let n2 : string = "Hello" ;
85+ let o2 : number = n2 . lastIndexOf ( "l" ) ; // 5
86+ let p2 : number = n2 . lastIndexOf ( "o" ) ; // 4
87+
88+ // Usando el .includes()
89+ let q2 : string = "Hello" ;
90+ let s2 : boolean = q2 . includes ( "l" ) ; // true
91+ let t2 : boolean = q2 . includes ( "o" ) ; // true
92+
93+ // Usando el .trim()
94+ let u2 : string = " Hello " ;
95+ let w2 : string = u2 . trim ( ) ; // Hello
96+
97+ // Usando el .trimStart()
98+ let x2 : string = " Hello " ;
99+ let y2 : string = x2 . trimStart ( ) ; // Hello
100+
101+ // Usando el .trimEnd()
102+ let z2 : string = " Hello " ;
103+ let a3 : string = z2 . trimEnd ( ) ; // Hello
104+
105+ // Usando el .replaceAll()
106+ let b3 : string = "Hello" ;
107+ let c3 : string = b3 . replaceAll ( "l" , "x" ) ; // Hexxo
108+
109+
110+ /* ----------------------- OTROS MÉTODOS MENOS COMUNES ---------------------- */
111+
112+ // Usando el .padStart()
113+ let d3 : string = "Hello" ;
114+ let e3 : string = d3 . padStart ( 10 , "0" ) ; // 00000Hello
115+
116+ // Usando el .padEnd()
117+ let f3 : string = "Hello" ;
118+ let g3 : string = f3 . padEnd ( 10 , "0" ) ; // Hello00000
119+
120+ // Usando el .repeat()
121+ let h3 : string = "Hello" ;
122+ let i3 : string = h3 . repeat ( 3 ) ; // HelloHelloHello
123+
124+ // Usando el .localeCompare()
125+ let j3 : string = "apple" ;
126+ let k3 : number = j3 . localeCompare ( "banana" ) ; // -1 (apple es menor que banana)
127+
128+
129+ // -------------------------- BONUS EJERCICIO ------------------------------- //
130+
131+ // Palíndromos con strings
132+ function isPalindrome ( str : string ) : boolean {
133+ let reversed : string = str . split ( "" ) . reverse ( ) . join ( "" ) ;
134+ return str === reversed ;
135+ }
136+
137+ isPalindrome ( "Isaac no ronca así" ) ; // true
138+ isPalindrome ( "tanto monta monta tanto" ) ; // false
139+
140+
141+ function isAnagram ( str1 : string , str2 : string ) : boolean {
142+ let reversed1 : string = str1 . split ( "" ) . reverse ( ) . join ( "" ) ;
143+ let reversed2 : string = str2 . split ( "" ) . reverse ( ) . join ( "" ) ;
144+ return reversed1 === reversed2 ;
145+ }
146+
147+ isAnagram ( "Isaac no ronca así" , "Isaac no ronca así" ) ; // true
148+ isAnagram ( "Isaac no ronca así" , "Isaac no ronca así tanto" ) ; // false
149+
150+ function isIsogram ( str : string ) : boolean {
151+ let letters : string [ ] = str . toLocaleLowerCase ( ) . split ( "" ) ;
152+
153+ return letters . length === new Set ( letters ) . size ;
154+ }
155+
156+ isIsogram ( "coco" ) ; // true 2 c, 2 o
157+ isIsogram ( "otra prueba" ) ; // false 1 o, 1 t, 2 r, 2 a,, 1 p, 1 u, 1 e, 1 b
0 commit comments