• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

how to split in java and remove certain lines from that text?

 
deepika deepi
Ranch Hand
Posts: 199
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi all,

Good evening.. i am having an file in that file i want to split the ":" colon . the words are split after and before colon . after the colon split i have i have an example given like this

input

Rule1.1.1 : this is rule one
EG. Ramakalmedu Located at a distance of 16 km from Nedumkandam
Rule1.1.2 : this is rule two
EG. word starting with a in java
Rule1.1.4 : this is rule three
EG. word starting with a in java
Rule1.3.1 : this is rule four
EG. Summer is the season to visit Mumbai
Rule1.3.9 : this is rule five
EG. It is operational only from march to september




here rule_no represents Rule1.1.1, Rule1.1.2 etc.. and rule represents the sentences
i am getting an error in this rule.

can anny one tell how to get the rule number and rule alone, leaving the EG.
 
Winston Gutkowski
Bartender
Pie
Posts: 10422
63
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
deepika deepi wrote:i am getting an error in this rule.

What error?

However, off the top of my head: if your input is exactly as you showed it (ie, it includes the lines starting "EG."), then it doesn't conform to your own specification; particularly if you are passing each line to those 4 lines of code.

BTW, don't use names like "$_"; they're OK for perl or Python, but you'll just confuse Java-ites.

Winston
 
Jo Joseph
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think This will help you...

class Test{
public static String str ="Rule1.1.1 : this is rule one EG. Ramakalmedu Located at a distance of 16 km from Nedumkandam";
public static void main(String[] args) {
String[] splitRuleNo = str.split("\\s*\\:\\s*");
String rule_no = splitRuleNo [0]; //\\ Mr
String rule = splitRuleNo [1];//+" "+splitResult[2]+" "+splitResult[3]; //\\ John Smith Dickson
String[] splitRule = rule.split("\\s*\\.\\s*");
System.out.println(rule_no);
System.out.println(splitRule[1]);
}
}
 
deepika deepi
Ranch Hand
Posts: 199
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi yaar,

that code is fine. but what i am telling is slightly different. you have taken the sentence in single string. but what i have given is it comes in two string. The input is like this

Rule1.1.1 : this is rule one
EG. Ramakalmedu Located at a distance of 16 km from Nedumkandam


and not like this

Rule1.1.1 : this is rule one EG. Ramakalmedu Located at a distance of 16 km from Nedumkandam. that is the problem i am facing here. Hope i am clear.
 
Jo Joseph
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If the input is coming from the file or console you can very well use the "BufferedReader" and assign to a string, then can do the exact manipulation

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class BufferedReaderExample {

public static void main(String[] args) {

BufferedReader br = null;

try {

String sCurrentLine;

br = new BufferedReader(new FileReader("C:\\testing.txt"));

while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);

String[] splitRuleNo = sCurrentLine.split("\\s*\\:\\s*");
String rule_no = splitRuleNo [0]; //\\ Mr
String rule = splitRuleNo [1];//+" "+splitResult[2]+" "+splitResult[3]; //\\ John Smith Dickson
String[] splitRule = rule.split("\\s*\\.\\s*");
System.out.println(rule_no);
System.out.println(splitRule[1]);
}

} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}

}
}
 
deepika deepi
Ranch Hand
Posts: 199
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


i am getting an array exception in the code as follows:


Rule1.1.1 : this is rule one
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at BufferedReaderExample.main(BufferedReaderExample.java:25)

(i.e) in this line

 
Campbell Ritchie
Sheriff
Pie
Posts: 49370
62
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The reason for that exception is obvious: you do not have two members in that array. Maybe you haven’t split the input properly. Have a look at the section about how to use String.split() in this tutorial page.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic