-8

Hi i am having astring which i want to break as my desired string my orignal string is

s=1 Agra Achhnera NIL 2 Agra Agra NIL 3 Agra Fatehabad NIL 4 Agra Fatehpur Sikri NIL 5 Agra Jagner NIL 6 Agra Jarar NIL 7 Agra Khairagarh NIL 8 Agra Shamshabad NIL 9 Aligarh Atrauli NIL 10 Aligarh Chharra NIL 11 Aligarh Aligarh 1300.00 12 Aligarh Khair 1300.00 13 Allahabad Allahabad NIL 14 Allahabad Jasra NIL 15 Allahabad Leriyari NIL 16 Allahabad Sirsa NIL 17 Ambedkar Nagar Akbarpur NIL 18 Ambedkar Nagar Tanda Akbarpur NIL

my desired string is

1       Agra    Achhnera    NIL
2   Agra    Agra    NIL
3   Agra    Fatehabad   NIL
4   Agra    Fatehpur Sikri  NIL
5   Agra    Jagner  NIL
6   Agra    Jarar   NIL
7   Agra    Khairagarh  NIL
8   Agra    Shamshabad  NIL
9   Aligarh     Aligarh     NIL
10  Aligarh     Atrauli     NIL
11  Aligarh     Chharra     1300.00
12  Aligarh     Khair   1300.00
13  Allahabad   Allahabad   NIL
14  Allahabad   Jasra   NIL
15  Allahabad   Leriyari    NIL
16  Allahabad   Sirsa   NIL
17  Ambedkar Nagar  Akbarpur    NIL
18  Ambedkar Nagar  Tanda Akbarpur  NIL

How can i achieve my desired string from my orignal string

Sourav Ghosh
  • 133,132
  • 16
  • 183
  • 261
user3456343
  • 252
  • 3
  • 7
  • 21

3 Answers3

0

If all you want to do is split the string after each occurrence of 'NIL' you can use the Java String.Split method. You don't need a regex.

See if this helps: How to split a string in Java

Community
  • 1
  • 1
Mark Wagoner
  • 1,729
  • 1
  • 13
  • 20
0
StringTokenizer st = new StringTokenizer(youOriginalString, " ");
String theStringYouWant = "";
Integer i = 0;

while(st.hasMoreElements()) {
    theStringYouWant += st.next().toString();
    i++;
    if (i % 4 == 0) {
        theStringYouWant += "\n"; 
    }
}
Kraiss
  • 919
  • 7
  • 22
0

You don't need regex pattern for that simple string:

    String s= 1 Agra Achhnera NIL 2 Agra Agra NIL 3 Agra Fatehabad NIL 4 Agra Fatehpur Sikri NIL 5 Agra Jagner NIL 6 Agra Jarar NIL 7 Agra Khairagarh NIL 8 Agra Shamshabad NIL 9 Aligarh Atrauli NIL 10 Aligarh Chharra NIL 11 Aligarh Aligarh 1300.00 12 Aligarh Khair 1300.00 13 Allahabad Allahabad NIL 14 Allahabad Jasra NIL 15 Allahabad Leriyari NIL 16 Allahabad Sirsa NIL 17 Ambedkar Nagar Akbarpur NIL 18 Ambedkar Nagar Tanda Akbarpur NIL  
    String[] parts = string.split(" ");
    for(String string: parts){
        System.out.print(string); 
        if (string.equals("NIL"))
            System.out.print("\n");
        else 
            System.out.print("\t");
}

It's not so nice like using a regex pattern but you are gonna have less headaches.

VMRuiz
  • 1,931
  • 12
  • 20