forked from exercism/java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSqueakyClean.java
More file actions
34 lines (31 loc) · 1.17 KB
/
Copy pathSqueakyClean.java
File metadata and controls
34 lines (31 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class SqueakyClean {
static String clean(String identifier) {
// throw new UnsupportedOperationException("Please implement the (static) SqueakyClean.clean() method");
int index =0;
String cleanString = identifier.replace(' ','_');
if(cleanString.contains("-")) {
index = cleanString.indexOf('-');
cleanString = cleanString.replace("-", "");
cleanString = cleanString.substring(0,index) + cleanString.substring(index,index+1).toUpperCase() + cleanString.substring(index+1);
}
char[] chars = cleanString.toCharArray();
String newString = "";
for(char c : chars) {
if(c=='4') c = 'a';
else if(c=='3') c = 'e';
else if(c=='0') c = 'o';
else if(c=='1') c = 'l';
else if(c=='7') c = 't';
newString += c;
}
cleanString = newString;
chars = cleanString.toCharArray();
newString = "";
for(char c : chars) {
if(Character.isAlphabetic(c)) newString += c;
else if(c=='_') newString += c;
}
cleanString = newString;
return cleanString;
}
}