View Javadoc

1   package cz.cuni.amis.utils;
2   
3   public class StringIdifier {
4   	
5   	public static final String allowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"; 
6   	
7   	public static final String number = "0123456789";
8   	
9   	public static String idify(String str) {
10  		return idify(str, "", "_");
11  	}
12  	
13  	public static String idify(String str, String allowedExtraChars) {
14  		return idify(str, allowedExtraChars, "_");
15  	}
16  	
17  	public static String idify(String str, String allowedExtraChars, String replaceChar) {
18  		if (str == null) return replaceChar;
19  		if (str.length() == 0) return replaceChar;
20  		StringBuffer result = new StringBuffer(str.length());
21  		
22  		if (number.contains(str.substring(0,1))) {
23  			result.append(replaceChar);
24  		}
25  		
26  		for (int i = 0; i < str.length(); ++i) {
27  			String c = str.substring(i,i+1);
28  			if (allowed.contains(c) || allowedExtraChars.contains(c)) {
29  				result.append(c);
30  			} else {
31  				result.append(replaceChar);
32  			}
33  		}
34  		
35  		return result.toString();
36  	}
37  
38  }