53 EST_String eighth(
"some,words-with[punctuation]left..after,a-vowel!");
55 EST_String quoted(
"\"some tokens\" which are \"quoted with \"\"\"");
57 EST_String bits1[10], bits2[10], bits3[10], bits4[10], bits5[10], bits6[2];
73 EST_Regex reg11(
"\\([^aeiou]\\)\\(\\]\\|[-[.,!?]\\)+");
106 int test11 = first.
contains(second,3);
107 int test12 = first.
contains(second,0);
108 int test13 = second.
contains(third, 0);
109 int test14 = sixth.
contains(seventh, 0);
110 int test15 = seventh.
contains(seventh, 0);
112 int test0m = zeroth.
matches(reg0);
113 int test1m = first.
matches(reg4);
114 int test2m = second.
matches(reg4);
115 int test3m = first.
matches(reg5);
126 result8.
gsub(reg11,1);
129 int num1 = split(first, bits1, 10, reg1);
130 int num2 = split(first, bits2, 2, reg1);
131 int num7 = split(first, bits3, 10, space);
132 int num8 = split(quoted, bits4, 10, space,
'"');
133 int num9 = split(quoted, bits5, 10,
RXwhite,
'"');
134 int num10 = split(first, bits6, 2,
".");
136 int num3 = first.
freq(
"o");
137 int num4 = first.
freq(third);
140 int num5 = sub1.
gsub(
"l",
"[an ell]");
141 int num6 = sub2.
gsub(reg1,
"[some ells]");
143 cout <<
"First '"<< first <<
"'\n";
144 cout <<
"Second '"<< second <<
"'\n";
145 cout <<
"Third '"<< third <<
"'\n";
147 cout <<
"Result 0 '"<< result0 <<
"'\n";
149 cout <<
"Result 1 '"<< result1 <<
"'\n";
150 cout <<
"Result 2 '"<< result2 <<
"'\n";
151 cout <<
"Result 3 '"<< result3 <<
"'\n";
152 cout <<
"Result 4 '"<< result4 <<
"'\n";
153 cout <<
"Result 5 '"<< result5 <<
"'\n";
154 cout <<
"Result 6b '"<< result6b <<
"'\n";
156 cout <<
"Result 1a '"<< result1a <<
"'\n";
157 cout <<
"Result 2a '"<< result2a <<
"'\n";
158 cout <<
"Result 3a '"<< result3a <<
"'\n";
159 cout <<
"Result 4a '"<< result4a <<
"'\n";
160 cout <<
"Result 5a '"<< result5a <<
"'\n";
161 cout <<
"Result 6a '"<< result6a <<
"'\n";
163 cout <<
"Result 6 '"<< result6 <<
"'\n";
164 cout <<
"Result 7 '"<< result7 <<
"'\n";
165 cout <<
"Result 8 '"<< result8 <<
"'\n";
167 cout <<
"Test 0 '"<< test0 <<
"'\n";
168 cout <<
"Test 1 '"<< test1 <<
"'\n";
169 cout <<
"Test 2 '"<< test2 <<
"'\n";
170 cout <<
"Test 3 '"<< test3 <<
"'\n";
171 cout <<
"Test 4 '"<< test4 <<
"'\n";
172 cout <<
"Test 5 '"<< test5 <<
"'\n";
173 cout <<
"Test 6 '"<< test6 <<
"'\n";
174 cout <<
"Test 7 '"<< test7 <<
"'\n";
175 cout <<
"Test 8 '"<< test8 <<
"'\n";
176 cout <<
"Test 9 '"<< test9 <<
"'\n";
177 cout <<
"Test 10 '"<< test10 <<
"'\n";
178 cout <<
"Test 11 '"<< test11 <<
"'\n";
179 cout <<
"Test 12 '"<< test12 <<
"'\n";
180 cout <<
"Test 13 '"<< test13 <<
"'\n";
181 cout <<
"Test 14 '"<< test14 <<
"'\n";
182 cout <<
"Test 15 '"<< test15 <<
"'\n";
184 cout <<
"Test 0m '"<< test0m <<
"'\n";
185 cout <<
"Test 1m '"<< test1m <<
"'\n";
186 cout <<
"Test 2m '"<< test2m <<
"'\n";
187 cout <<
"Test 3m '"<< test3m <<
"'\n";
189 cout <<
"Result 1r '"<< result1r <<
"'\n";
190 cout <<
"Result 2r '"<< result2r <<
"'\n";
191 cout <<
"Result 3r '"<< result3r <<
"'\n";
193 cout <<
"Result 1at '"<< result1at <<
"'\n";
194 cout <<
"Result 2at '"<< result2at <<
"'\n";
195 cout <<
"Result 3at '"<< result3at <<
"'\n";
197 cout <<
"Num 1 '"<< num1 <<
"'\n";
198 cout <<
"bits1[0] '"<<bits1[0] <<
"'\n";
199 cout <<
"bits1[1] '"<<bits1[1] <<
"'\n";
200 cout <<
"bits1[2] '"<<bits1[2] <<
"'\n";
202 cout <<
"Num 2 '"<< num2 <<
"'\n";
203 cout <<
"bits2[0] '"<<bits2[0] <<
"'\n";
204 cout <<
"bits2[1] '"<<bits2[1] <<
"'\n";
205 cout <<
"bits2[2] '"<<bits2[2] <<
"'\n";
207 cout <<
"Num 7 '"<< num7 <<
"'\n";
208 cout <<
"bits3[0] '"<<bits3[0] <<
"'\n";
209 cout <<
"bits3[1] '"<<bits3[1] <<
"'\n";
210 cout <<
"bits3[2] '"<<bits3[2] <<
"'\n";
212 cout <<
"Num 8 '"<< num8 <<
"'\n";
213 cout <<
"bits4[0] '"<<bits4[0] <<
"'\n";
214 cout <<
"bits4[1] '"<<bits4[1] <<
"'\n";
215 cout <<
"bits4[2] '"<<bits4[2] <<
"'\n";
216 cout <<
"bits4[3] '"<<bits4[3] <<
"'\n";
217 cout <<
"bits4[4] '"<<bits4[4] <<
"'\n";
218 cout <<
"bits4[5] '"<<bits4[5] <<
"'\n";
220 cout <<
"Num 9 '"<< num9 <<
"'\n";
221 cout <<
"bits5[0] '"<<bits5[0] <<
"'\n";
222 cout <<
"bits5[1] '"<<bits5[1] <<
"'\n";
223 cout <<
"bits5[2] '"<<bits5[2] <<
"'\n";
224 cout <<
"bits5[3] '"<<bits5[3] <<
"'\n";
225 cout <<
"bits5[4] '"<<bits5[4] <<
"'\n";
227 cout <<
"Num 10 '"<< num10 <<
"'\n";
228 cout <<
"bits6[0] '"<<bits6[0] <<
"'\n";
229 cout <<
"bits6[1] '"<<bits6[1] <<
"'\n";
231 cout <<
"Num 3 '"<< num3 <<
"'\n";
232 cout <<
"Num 4 '"<< num4 <<
"'\n";
234 cout <<
"Num 5 '"<< num5 <<
"'\n";
235 cout <<
"Sub 1 '"<< sub1 <<
"'\n";
237 cout <<
"Num 6 '"<< num6 <<
"'\n";
238 cout <<
"Sub 1 '"<< sub2 <<
"'\n";
int contains(const char *s, ssize_t pos=-1) const
Does it contain this substring?
size_t freq(const char *s) const
Number of occurrences of substring.
A Regular expression class to go with the CSTR EST_String class.
int gsub(const char *os, const EST_String &s)
Substitute one string for another.
EST_Regex RXwhite("[ \n\t\r]+")
White space.
int matches(const char *e, ssize_t pos=0) const
Exactly match this string?
EST_String after(int pos, int len=1) const
Part after pos+len.
EST_String before(int pos, int len=0) const
Part before position.
EST_String at(int from, int len=0) const
Return part at position.