Specific Regular Expression - Split A String
Mar 3, 2014
Regular expression which I want to use to split a string. The string could look similar to this:
"a = "Hello World" b = "Some other String" c = "test""
The String is read from a file where the file contents would be:
a = "Hello World" b = "Some other String" c = "test"
After splitting I would like to get the following array:
String[] splitString = new String[] {"a", "=", ""Hello World"", "b", "=", ""Some other String"", "c", "=", ""test""}
I know I could just write a simple text parser to go over the string character by character, but I would rather not do it to keep my code clean and simple. No need to reinvent the wheel.
However, I just cant seem to be able to find the right regular expression for this task. I know that a RE must exist because this can be solved by a finite automaton.
View Replies
ADVERTISEMENT
Aug 6, 2014
I have to read a text looking for value related to certain variable. The variable are always DE plus identifier from 1 to 99 or DE plus identifier from 1 to 99 and SF plus identifier from 1 to 99. The value can be alphanumeric. How can I get these values? As a start point, I try to use split("DE") but I can get something that is wrong if there is "DE" inside the text that doesn't me interest. I look for scanner but it doesn't work. I guess that there is some way, maybe using regex but I am completely lost ( I have never used regedix before and I am in rush to fix this).
Basically, the text is similar to the below where DE means data element and sf sub field. Some data elements have sub fields while others don't. I guess that there is a way to split with something like DE+anyNumberFrom1To99 = theValueAimed in some array and DE+anyNumberFrom1To99+,+SF+anyNumberFrom1To99 = theValueAimed in other array.
DE 2, SF 1 = 00 SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 1 = 0 SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 4 = 1 SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 5 = 0 SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 6 = 11 SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 7 = 90x SOME TEXT THAT DOESN'T INTEREST ME
DE 22, SF 7 = 12ab SOME TEXT THAT DOESN'T INTEREST ME
DE 99 = 1234 SOME TEXT THAT DOESN'T INTEREST ME
View Replies
View Related
Apr 17, 2014
I have written below regex for two lines.
String LN1Pattern = "^((?=.{1,35}$)(/([A-Z]{1,5})(|(//[a-zA-Z0-9]+))))$";
System.out.println("/ABC//FGhiJkl012345".matches(LN1Pattern));
String LN2Pattern = "^(|((s+(//[a-zA-Z0-9]{1,33})){1,2}))$";
System.out.println("".matches(LN2Pattern));
s+ is a newline character.
But when I combines both as below, its not giving me expected result.
^(((?=.{1,35}$)(/([A-Z]{1,5})(|(//[a-zA-Z0-9]+))))(|((s+(//[a-zA-Z0-9]{1,33})){1,2})))$
For string "/ABC//FGhiJkl012345
//abCD01EF02" - returns False. Expected is True
I think there is some problem in lookahead placed.
View Replies
View Related
Mar 7, 2014
Do not want to use loop and Character.isLetter to validation string , not sure at how to using regular expression?
If I want 8 characters string length, the first 3 is letter, the remind character is number ...
^[a-z0-9_-]{8}$
^[a-zA-Z]{3} + [/d]{5} $ ??
View Replies
View Related
Jan 1, 2015
I need a pattern that matches Hello Smith (STL Terminal) (15.0).
View Replies
View Related
Aug 25, 2014
I have to match pattern like 76XYYXXXX mean x can be 4or 5 and Y can be 6 or 7. All x and y should be same .i.e. 764664444
View Replies
View Related
Jan 17, 2014
I am currently enrolled in my first Java class. I have taken C# in the past so I've messed with some regular expressions, but I am having trouble finding a good website for Java. Is the syntax the same?I want to create a regular expression to only allow the following characters: c C f F [and any 1-3 digit number].
View Replies
View Related
Mar 16, 2015
I have a string "We have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle" I need to replace the numbers based on the below condition.
if more then 5, replace with many
if less then 5, replace with a few
if it is 1, replace with "only one"
below is my code, I am missing the equating part to replace the numbers
private static String REGEX="(d+)";
private static String INPUT="We have 7 tutorials for Java, 2 tutorials for Javascript and 1 tutorial for Oracle";
//String pattern= "(.*)(d+)(.*)";
private static String REPLACE = "replace with many";
public static void main(String[] args) {
// Create a Pattern object
[Code]...
View Replies
View Related
Feb 4, 2015
I have some problems about performing regular expression. In the following code, the output as a result is being "valid last name". But in my opinion, it should be "invalid last name". Because "Doe" has not any space, apostroph or any hypen. Look at the regular expression statement: "[a-zA-Z]+([ '-][a-zA-Z]+)*"
package deneme;
public class Deneme {
public static void main(String[] args) {
String lastName = "Mc-Something"; // Mc-Something
if(!lastName.matches("[a-zA-Z]+([ '-][a-zA-Z]+)*"))
System.out.println("Invalid last name");
else
System.out.println("Valid last name");
}
}
I know that the asterisk qualifier means character(s) in any number.(Is this wrong?) So for "Mc-Something", 'M' corresponds to [a-zA-Z], 'c' corresponds to +, - corresponds to [ '-], 'S' corresponds to [a-zA-Z], "o" corresponds to +, and finally "mething" corresponds to *, doesn't they? But for "Doe", there is no any space, apostroph or hypen.
View Replies
View Related
Nov 28, 2013
I need a regular expression in java for phone number which that does not allow any character special character only numbers should be allowed.. My sample program is
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class c {
public String removeOrReplacePhoneNumber(String input) {
if (null == input)
return input;
[Code] ....
but this is allowing characters like a,b,c..
View Replies
View Related
Dec 1, 2014
I am new to java coding. so, reading the log file using java code.
1) I wish to parse a file, and find a value for variable e.g. [StorageVersion].
2) After finding the value, it will be pushed to database.
Following is the code that i have written till now.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.*;
import java.lang.*;
import java.util.*;
import java.util.regex.*;
[code]....
1) I don't know what regular expression can i use.
2) I want a line to check that preceding line should have //StorageVersion .
3) n then i will check any string between := K[' and '];. From above log file "'706146.0.22106932'" is the value that i am looking for.
View Replies
View Related
Feb 18, 2014
I need to parse an html web page to extract specific information from the tags in Java. For example,
<b>Species </b> Strain </td>
I need to look for the Strain info (Strain is variable in length) in the page. The whole web page is stored as a huge string. I need a regular expression that can identify all the Species and retrieve their corresponding strain info. how to do this or can propose some clever string manipulation methods in Java.
View Replies
View Related
Jan 23, 2015
I am trying to implement an example (Book* : Java SE 7 ..By S G Ganesh) for validating an IP address but it fails to validate a valid IP addresses. I found another example on the internet(**) and it works super fine, no problem at all. I edited the code (the one I got from internet) into the exact format like book and it still works super but i don't understand why the books' example doesn't work though both look exactly the same now ,further more, how can i compare String x and y for equality?
public class TestClass {
void validateIP(String ipStr) {
String one = "((25[0-5]|2[0-4]d|[01]?dd?)(.)){3}(25[0-5]|2[0-4]d|[01]?dd?)"; //copied from internet and edited
String two = "((25[0–5]|2[0–4]d|[01]?dd?)(.)){3}(25[0–5]|2[0–4]d|[01]?dd?)"; // copied from book
String x = "((25[0-5]|2[0-4]d|[01]?dd?)(.))";
String y ="((25[0–5]|2[0–4]d|[01]?dd?)(.))";
[Code] ....
View Replies
View Related
Sep 4, 2014
I have a header in file like below:
EMP_ID|EMP_NAME|DEPARTMENT|SALARY|ACTIVE1
passed to a string
String test = "EMP_ID|EMP_NAME|DEPARTMENT|SALARY|ACTIVE1";
I have to check if the header has only alphanumeric and pipedelimiter is allowed.
Other than these i need to raise an error.
View Replies
View Related
Feb 27, 2015
I have a math expression in a String, that I want to split into 4 pieces as in the following example:
String math = "23+4=27"
int num1 = (23 STORES HERE)
int num2 = (4 STORES HERE)
String operator = (+ STORES HERE)
int answer = (27 STORES HERE)
Note that the operator can be either + - * /
View Replies
View Related
Jul 12, 2014
I have a text file that has the following lines:
the boy is smart
He is from Australia
** Highly important line
That's all
Now, I need a regular java expression that would match a line in this file that begins with the ** characters. That is, when I match the text with the regex, I should get only this line :
** Highly important line
How would I write this regex in java?
View Replies
View Related
Sep 27, 2014
I am currently trying to make a calculator in Java. I want to use the String split method to tokenize the string of characters inputted. I thought I was using the String split method wrongly, because I had surrounded the characters I wanted to delimit with square brackets. However, when I removed the square brackets, the code threw an exception when I pressed the equal button. The exception was a PatternSyntaxException exception. Am I using the String split method wrongly? And why is the exception thrown? Here is my code:
import javax.swing.*;//import the packages needed for gui
import java.awt.*;
import java.awt.event.*;
import java.util.Arrays;
import java.util.List;
import static java.lang.Math.*;
public class CalculatorCopy {
public static void main(String[] args) {
[Code] .....
View Replies
View Related
Jan 23, 2010
I am trying to split a string based on length(example length 5) of the string. But I am having a issues with this substring(start, end) method. I get all substring which are of length 5. But if the last substring is less than 5 then I am not getting that last substring. But I need the last substring even if it is less than 5.
String s = "fjdjfdfjgffgjhfjghfjkhjhjh";
String spLine;
for(int i=0; i<s.length(); i=i+5){
spLine = s.substring(i, (5+i));
}
>
View Replies
View Related
Sep 21, 2014
So I'm creating a class which when given three inputs uses them as sides of a triangle and tells ther user what type of triangle it is, or if the input is invalid, tells them why it is invalid. I'm readin the input as a string and then trying to split it into a string array, from there checking to see if it has 3 elements.. in which the data is good at that point, and then converting them to ints and checking to see if they're negative ansd finally checking to see if they can work as sides of a triangle ie a+b >c, a+c >b , b+c >a.
I'm trying to split it into an array of strings but am getting an error, and can't seem to figure out why as this should be working from what I've read of the string.split method online.
import java.util.*;
public class TriangleTest{
private int sideA;
private int sideB;
private int sideC;
public static void main(String[] args){
TriangleTest triangle = new TriangleTest("3 4 5");
[Code] ....
The output reads [Ljava.lang.String;@15db9742
View Replies
View Related
Mar 25, 2015
I have the the string value similar to the one which i have to split based on the delimited ","
String SampleString=" 'ab,c', 'xyz', lm,n,o "
I know I can easily call split function which will eventually split the above string. But in my case the delimiter "," , is also a part of the string. If I call the function SampleString.split(',') I will get the output as listed below
ab
c
xyz
lm
n
o
but the expected output is
abc
xyz
lmno
View Replies
View Related
Jun 10, 2014
I know adjacent delimiters create empty token but is there any exception regarding last pair of delimiters ??
String a[]=":ab::cde :fg::".split(":"); // Creates 5 tokens
String a[]=":ab::cde :fg:: -Space-".split(":"); // Creates 7 tokens
View Replies
View Related
Sep 15, 2014
I have a string that look like this
"dfhsdfhds | dsfdsfdsfd dsfjkhdskjf ||ER|| jdkshfuiewryuiwfhdsfsd er dsfjsgrwhfjkds ||ER|| jkshruiewryhijdknfjksdfhdksg | "
I want to split it by "||ER||"
I try this but it splits the single "|" to not just the "||ER||" like I want.
String[] separated = response.split("||ER||");
Log.d("token",separated[0]);
Log.d("token",separated[1]);
View Replies
View Related
Nov 11, 2014
String path = "/AUTOSAR/Os_0?type=EcucModuleConfigurationValues";
String path1[] = path.split("?type");
I want to split string in such a way that I should get the content before "?" in an another variable. I tried various way but some how I am not getting expected behavior.
View Replies
View Related
Aug 30, 2014
I have a String as follows: "the|boy|is|good"
now, I want to split this string using the "|" delimeter.
I tried this :
String line = "the|boy|is|good";
line.split("|");
But it didn't split it. Is there some regex for "|"?
View Replies
View Related
Mar 30, 2014
I want to cut my string from space char but i am getting exception....
Java Code:
import java.util.Scanner;
import java.util.StringTokenizer;
public class NameSurname {
public static void main(String args[]) {
Scanner sc=new Scanner(System.in);
String s0,s1=null,s2 = null,s3=null;
s0=sc.next();
[Code] ....
Console:
Lionel andres messi
Exception in thread "main" java.util.NoSuchElementException
at java.util.StringTokenizer.nextToken(Unknown Source)
at java.util.StringTokenizer.nextToken(Unknown Source)
at com.parikshak.NameSurname.main(NameSurname.java:15) mh_sh_highlight_all('java');
I/p -O/p:
my s0=Lionel andres Messi
And I want to break it as soon as i find space and save it in s1,s2 and s3
s1=Lionel
s2=andres
s3=messi
View Replies
View Related
Oct 19, 2014
In this exercise, create a program that asks a user for a phrase, then returns the phrase with the words in reverse order. Use the String class's .split() method for this.
Example input
The rain in Spain falls mainly on the plain
Example output
plain the on mainly falls Spain in rain The
While I understand the assignment, nowhere in the text is it covered how to reverse the order of the words in the string. I understand using the .split method, but not for this exercise.
Here is my code so far.
import java.util.*;
/**
* Java class SplitString
* This program asks for a phrase, and the code allows the phase to return in reverse order.
*/
public class SplitString {
public static void main (String[] args){
//set phrase input and mixed which will be the result
[Code] ....
As you can see, I have been googling this method and have come up nearly empty. My text does not cover the .reverse() method. The only thing it covers with .split() is how to split a string. I also tried StringBuilder with no success.
View Replies
View Related