Skip to content

Instantly share code, notes, and snippets.

@rahman99
Last active July 29, 2017 11:38
Show Gist options
  • Select an option

  • Save rahman99/446d16751ee7a301aeed25bcaa5ae6d5 to your computer and use it in GitHub Desktop.

Select an option

Save rahman99/446d16751ee7a301aeed25bcaa5ae6d5 to your computer and use it in GitHub Desktop.
String manipulation breadcrumb
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Synthese");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Synthese &#187; Onderzoeksvraag 1: welke waterkwaliteitsproblemen worden ervaren?");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Synthese &#187; Onderzoeksvraag 2: wat is de relatieve bijdrage aan deze waterkwaliteitsproblemen");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Synthese &#187; Onderzoeksvraag 3: in hoeverre is de relatieve bijdrage te beinvloeden door maatregelen in het afvalwatersysteem?");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Synthese &#187; Effect toegepaste methodiek op bepalen waterkwaliteitseffecten");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; Wegwijs in niet-chemische bestrijding");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print &#187; test print2");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print &#187; test print2 &#187; test print print 2222");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print &#187; test print 33");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print &#187; test print 34 &#187; test print 334");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test print &#187; test print 35 &#187; test print 334 &#187; test print 334");
list.add("Kennisbank &#187; Overig &#187; Waterkwaliteit (relevante emissies) &#187; test123");
String prevValue = "";
for(int i=0;i<list.size();i++){
int currentLength = list.get(i).split(" &#187; ").length;
int previousLength = 0;
if(i==0){
prevValue = "0";
previousLength = currentLength;
} else {
previousLength = list.get(i-1).split(" &#187; ").length;
}
System.out.println(previousLength+"??"+currentLength+" >>> "+ getIndex(previousLength, currentLength, prevValue));
prevValue = getIndex(previousLength, currentLength, prevValue);
}
}
private static String getIndex(int prevLength, int currLength, String prevValue){
String result = "";
if(currLength==prevLength){
int lastCharPrevValue = Integer.valueOf(prevValue.substring(prevValue.length()-1)) + 1;
String newValue = prevValue.substring(0, prevValue.length()-1) + String.valueOf(lastCharPrevValue);
result = newValue ;
} else if (currLength - prevLength == 1) {
result = prevValue+"."+1;
} else if(prevLength - currLength >= 1){
int sumReplaceChar = (prevLength - currLength)*2+1;
int lastCharPrevValue = Character.getNumericValue(prevValue.charAt(prevValue.length()-sumReplaceChar)) +1;
String newValue = prevValue.substring(0, prevValue.length()-sumReplaceChar) + String.valueOf(lastCharPrevValue);
result = newValue;
}
return result;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment