for (char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) {
if ((((ch > `) && (ch < {)) || ((ch > @) && (ch < [)))
|| (((ch == ) || ((ch > /) && (ch < :))) || (((ch == .) || (ch == ,)) || ((ch == -) || (ch == _))))) {
if (!flag) {
builder.append("&"");
flag = true;
}
builder.append(ch);
} else {
if (flag) {
builder.append(""");
flag = false;
}
}
}
if ((builder.length() > 0) && (builder.charAt(0) == &)) {
builder.delete(0, 1);
}
if (builder.length() == 0) {
builder.insert(0, """");
}
if (flag) {
builder.append(""");
}
return builder.toStr