Révision 2391
tmp/org.txm.utils/src/org/txm/utils/AsciiUtils.java (revision 2391) | ||
---|---|---|
115 | 115 |
* @param s the s |
116 | 116 |
* @return the string |
117 | 117 |
*/ |
118 |
public static String buildAttributeId(String s) {
|
|
118 |
public static String buildWordId(String s) {
|
|
119 | 119 |
|
120 |
//TODO: replace this with a lib managing the ID attribute format |
|
121 | 120 |
if (s.length() == 0) return s; |
121 |
|
|
122 |
// ensure the "w_" prefix presence |
|
123 |
if (s.startsWith("w")) { |
|
124 |
if (!s.startsWith("w_")) { |
|
125 |
s = "w_"+s.substring(1); |
|
126 |
} |
|
127 |
} else { |
|
128 |
s = "w_"+s; |
|
129 |
} |
|
122 | 130 |
|
123 | 131 |
String rez = convertNonAscii(s).toLowerCase(); |
124 | 132 |
rez = rez.replaceAll("\\p{Space}++","_"); |
125 | 133 |
rez = rez.replaceAll("[¤€§µ£°().,;:/?§%\"'*+\\-}\\]\\[{#~&]",""); //$NON-NLS-1$ //$NON-NLS-2$ |
126 |
// remove first chars if number |
|
127 |
char c = rez.charAt(0); |
|
128 |
while (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9') { |
|
129 |
rez = rez.substring(1); |
|
130 |
if (rez.length() == 0) return ""; |
|
131 |
c = rez.charAt(0); |
|
132 |
} |
|
133 | 134 |
|
134 | 135 |
return rez; |
135 | 136 |
} |
136 |
|
|
137 |
|
|
137 | 138 |
/** |
139 |
* Builds attribute id. |
|
140 |
* |
|
141 |
* @param s the s |
|
142 |
* @return the string |
|
143 |
*/ |
|
144 |
public static String buildAttributeId(String s) { |
|
145 |
return buildId(s); |
|
146 |
} |
|
147 |
|
|
148 |
/** |
|
138 | 149 |
* Builds the id. |
139 | 150 |
* |
140 | 151 |
* @param s the s |
... | ... | |
142 | 153 |
*/ |
143 | 154 |
public static String buildId(String s) |
144 | 155 |
{ |
156 |
//TODO: replace this with a lib managing the ID attribute format |
|
145 | 157 |
if (s.length() == 0) return s; |
146 | 158 |
|
147 |
String rez = removePunct(convertNonAscii(s)).toLowerCase();
|
|
148 |
//¤€§µ£°
|
|
149 |
rez = rez.replaceAll("[¤€§µ£° ]",""); //$NON-NLS-1$ //$NON-NLS-2$
|
|
150 |
|
|
159 |
String rez = convertNonAscii(s).toLowerCase();
|
|
160 |
rez = rez.replaceAll("\\p{Space}++","_");
|
|
161 |
rez = rez.replaceAll("_","-");
|
|
162 |
rez = rez.replaceAll("[¤€§µ£°().,;:/?§%\"'*+\\}\\]\\[{#~&]",""); //$NON-NLS-1$ //$NON-NLS-2$ |
|
151 | 163 |
// remove first chars if number |
152 | 164 |
char c = rez.charAt(0); |
153 | 165 |
while (c == '0' || c == '1' || c == '2' || c == '3' || c == '4' || c == '5' || c == '6' || c == '7' || c == '8' || c == '9') { |
Formats disponibles : Unified diff