/*
* Created on 6-apr-2004
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package org.xdams.utility;
import java.io.IOException;
public class CompositionRule {
public CompositionRule() {
}
public static void main(String[] args) {
new CompositionRule().compose("5-3-10-5", "XDAMSSTO0000040558ID001", ".");
}
public static String compose(String rule, String name, String separator) {
System.out.println("regola : " + rule);
System.out.println("stringaCompleta : " + name);
StringBuilder result = new StringBuilder();
String[] ruleSplit = rule.split("-");
int totRule = 0;
for (int i = 0; i < ruleSplit.length; i++) {
System.out.println(ruleSplit[i]);
totRule += Integer.parseInt(ruleSplit[i]);
}
System.out.println(totRule);
if (totRule <= name.length()) {
int begin = 0;
int end = 0;
for (int i = 0; i < ruleSplit.length; i++) {
// System.out.println("regolaSplit[i] " + Integer.parseInt(regolaSplit[i]));
end = ((Integer.parseInt(ruleSplit[i])) + end);
// System.out.println("end " + end);
result.append(name.substring(begin, end) + separator);
// System.out.println("stringaRisultato " + stringaRisultato);
begin = end;
// System.out.println("begin " + begin);
}
} else {
}
System.out.println(result);
return result.toString().toUpperCase();
}
public static String stripPunctuation(String s, char separator) {
StringBuilder sb = new StringBuilder();
char[] cs = s.toCharArray();
for (int i = 0; i < cs.length; i++) {
if (Character.isLetterOrDigit(cs[i])) {
sb.append(cs[i]);
} else {
if (sb.length() > 1 && sb.charAt(sb.length() - 1) != separator) {
if (Character.isSpaceChar(cs[i])) {
sb.append(separator);
}
}
}
}
return sb.toString();
}
}