Solved

String preprocessing

Posted on 2002-04-11
8
148 Views
Last Modified: 2010-03-05
Hi,

I'm trying to write a perl script to do the followings:

1. Calculate the number of words from a string.
2. Check the last word exist in a text file. If exist    move it to the beginning of the string.
3. Extract the first two word of the string.
4. Find the occurence of the word "d/o" and extract every words before that.

Eg.
   string = "Rajiv Mani d/o Arumugam"
   ...code to count the word length which is 4
   if (last_word "Arumugam" is in file c:\temp\Names.txt)
   {
     code to move last_word to first_word
     string = "Arumugam Rajiv Mani d/o"
     if (string has "d/o")
      code to extract "Arumugam Rajiv Mani"
     else
      code to retrieve "Arumugam Rajiv"

Thanks,
Nick

     




0
Comment
Question by:n_chai
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 
LVL 84

Accepted Solution

by:
ozo earned 100 total points
ID: 6936030
$string = "Rajiv Mani d/o Arumugam";
$count = () = $string=~/(\S+)/g ;
$last_word = $1;
open F,'<c:/temp/Names.txt';
if( grep/\b\Q$last_word\E\b/i,<F> ){
    $string =~ s/(.*)(\s+)(\S+)/$3$2$1/s;
    if( $string =~ /(.*)\bd\/o\b/ ){
     $extract = $1;
    }else{
        ($retrieve) = $string =~ /(\S+\s+\S+)/;
    }
}
0
 

Author Comment

by:n_chai
ID: 6936240
Hi User Ozo,

they seems to be some problem when my names has more than 4 words. eg "Abdul Aziz d/o Mohamad Yusoff"

the system will return me "Abdul Aziz  Mohamad" Any idea ?

Nick
0
 

Author Comment

by:n_chai
ID: 6936241
Hi User Ozo,

they seems to be some problem when my names has more than 4 words. eg "Abdul Aziz d/o Mohamad Yusoff"

the system will return me "Abdul Aziz  Mohamad" Any idea ?

Nick
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:n_chai
ID: 6936263
Hi User Ozo,

they seems to be some problem when my names has more than 4 words. eg "Abdul Aziz d/o Mohamad Yusoff"

the system will return me "Abdul Aziz  Mohamad" Any idea ?

Nick
0
 
LVL 84

Expert Comment

by:ozo
ID: 6936344
When I run it with
$string = "Abdul Aziz d/o Mohamad Yusoff";m
"Yusoff Abdul Aziz "
0
 
LVL 84

Expert Comment

by:ozo
ID: 6936349
When I run it with
$string = "Abdul Aziz d/o Mohamad Yusoff";
I get
"Yusoff Abdul Aziz " 
in $extract
0
 

Author Comment

by:n_chai
ID: 6936434
Hi Ozo,

I think I made a mistake in my requirements. Actually what I need to do is whenever the system detected "d/o" I just need the words before it. eg. "Abdul Aziz d/o Mohamad Yusoff" I need "Abdul Aziz" only.

Sorry.
0
 
LVL 10

Expert Comment

by:oleber
ID: 6936718
my $string = "Abdul Aziz d/o Mohamad Yusoff";
$string =~ m/^(.*)d\/o/;
print "$1\n";

0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
perl search and replace 6 172
Linux rename files by reordering dates in the file name 6 39
Replace  text in a file 2 121
quoting a comma separated list 20 90
Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
A year or so back I was asked to have a play with MongoDB; within half an hour I had downloaded (http://www.mongodb.org/downloads),  installed and started the daemon, and had a console window open. After an hour or two of playing at the command …
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question