Forums Register Login

java regex

+Pie Number of slices to send: Send
Hi all,

I am new to java 6 regex.

I have a string with the following content ( each line separated by \r\n).

Existing string:

aaaa|
TEST|x||y|z|""|cccc|bbb|"
xxxx|
TEST|x||y|z|Something|cccc|bbb|";
TEST|x|ST|y|z|""|cccc|bbb|";
TEST|x||y|z|""XYZ|cccc|bbb|";
TEST|x||y|z|Y""|cccc|bbb|";



The expected strign content:

aaaa|
TEST|x||y|z||cccc|bbb|
xxxx|
TEST|x|ST|y|z|Something|cccc|bbb|
TEST|x|ST|y|z|""|cccc|bbb|
TEST|x|ST|y|z|""XYZ|cccc|bbb|
TEST|x|ST|y|z|Y""|cccc|bbb|


Basically, if the content between 2nd and 3rd occurance of | is blank and if the content betweeen 5th and 6th occurance of | is "", then make it blank.(Ex: Line 2 in the EXISTING STRING)
Also if the content between 5th and 6th occurrence is not empty and not "" then if the content between 2nd and 3rd occurance of | is blank make it ST.(eX: Line 4,6,7 in existing string)
In other scenarios, nothing needs to be changed.
How to make it possible with Regex replaceall or Pattern/match.

I tried few things but in vain. - str.replaceAll( "(TEST\\\\|[\\|\\|]*\\\\|\\\\|[\\|\\|]*\\\\|[\\|\\|]*\\\\|)\"\"\\|", "$1\\|" ); - I t does not work for 4,6,7 lines/scenarios.

Please help as I have a dealine to meet.

Thanks a ton in advance.
+Pie Number of slices to send: Send
+Pie Number of slices to send: Send
Any help please!

+Pie Number of slices to send: Send
How to check if the content between 5th and 6th occurence of | has alphanumeric content and then check if the content between 2nd and 3rd | is empty, if so, make it STR.


My current regex is replacing all empty positions with STR. But I need it to change it only between 2nd and 3rd position.

Regex I am using:
(STR\\|[\\|\\|]*\\\\|)\\|\\|", "$1|STR|" );

The current (wrong output):

TEST|x|STR|y|z|Y""|cccc|bbb|STR|"

Any help is appreciated.
permaculture is a more symbiotic relationship with nature so I can be even lazier. Read tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1326 times.
Similar Threads
scjp chapter 5 q...5 page no 303
Regarding regex and the * and ? Quantifiers
java 6 replacell/repalcefirst
string manipulation
String of arrays
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 29, 2024 02:27:45.