How to substitute the value with in double quotes in perl?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to substitute the value with in double quotes in perl?
# 1  
Old 01-07-2010
How to substitute the value with in double quotes in perl?

Hi,

I have string like this:

Code:
$str=' DNA OR ("rna AND binding AND protein")';

I just wanted to substitute AND with a blank. How can i do that?

I want the output like this:

Code:
$string= DNA OR ("rna binding protein")

How can i substitute the AND operator within the double quotes with a NULL value in perl?

Regards
Vanitha
# 2  
Old 01-07-2010
In this case you can use just:

Code:
$str =~ s/AND//g;

If you want to be more specific and substitute only the matching text inside double quotes you could use something like this (assuming all double quotes are balanced):

Code:
#!/usr/bin/perl

use warnings;
use strict;


my ($str, $x) = 'AND DNA OR ("rna AND binding AND protein")';

$str =~ s/(?<=")([^"]*)(?=")/($x = $1) =~ s|AND||g;$x/ge;

print $str, "\n";

Sample output:

Code:
% ./s  
AND DNA OR ("rna  binding  protein")

# 3  
Old 01-11-2010
Quote:
Originally Posted by radoulov
In this case you can use just:

Code:
$str =~ s/AND//g;

If you want to be more specific and substitute only the matching text inside double quotes you could use something like this (assuming all double quotes are balanced):

Code:
#!/usr/bin/perl

use warnings;
use strict;


my ($str, $x) = 'AND DNA OR ("rna AND binding AND protein")';

$str =~ s/(?<=")([^"]*)(?=")/($x = $1) =~ s|AND||g;$x/ge;

print $str, "\n";

Sample output:

Code:
% ./s  
AND DNA OR ("rna  binding  protein")


Hi,

Thanks for the reply.

It should not substitute AND everywhere only inside a double quoted string but above example it is substituted in the beginning. ( AND DNA OR ("rna binding protein")) which is not correct.

The requirement is the AND operator should be substituted only where there is a double quoted string.

How can i do that?

Regards
Vanitha
# 4  
Old 01-11-2010
Quote:
Originally Posted by vanitham
[...]
It should not substitute AND everywhere only inside a double quoted string but above example it is substituted in the beginning. ( AND DNA OR ("rna binding protein")) which is not correct.

The requirement is the AND operator should be substituted only where there is a double quoted string.

How can i do that?
In my second example I did just that, or I'm missing something?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace Double quotes within double quotes in a column with space while loading a CSV file

Hi All, I'm unable to load the data using sql loader where there are double quotes within the double quotes As these are optionally enclosed by double quotes. Sample Data : "221100",138.00,"D","0019/1477","44012075","49938","49938/15043000","Television - 22" Refurbished - Airwave","Supply... (6 Replies)
Discussion started by: mlavanya
6 Replies

2. Shell Programming and Scripting

Issue with Single Quotes and Double Quotes for prompt PS1

Hi, Trying to change the prompt. I have the following code. export PS1=' <${USER}@`hostname -s`>$ ' The hostname is not displayed <abc@`hostname -s`>$ uname -a AIX xyz 1 6 00F736154C00 <adcwl4h@`hostname -s`>$ If I use double quotes, then the hostname is printed properly but... (3 Replies)
Discussion started by: bobbygsk
3 Replies

3. Shell Programming and Scripting

Preserve commas inside double quotes (perl)

Hi, I have an input file like this $ cat infile hi,i,"am , sam", y hello ,good, morning abcd, " ef, gh " ,ij no, "good,morning", yes, "good , afternoon" from this file I have to split the fields on basis of comma"," however, I the data present inside double qoutes should be treated as... (3 Replies)
Discussion started by: sam05121988
3 Replies

4. Shell Programming and Scripting

How to substitute a varible in script having value including quotes?

Hi All, We need to run a Connect direct script on Unix server to send a file to Mainframe server and at mainframe end there need to run another job through Runtask with some parameters need to be passed from C:D (unix) to mainframe. My question is I have to pass parameters like DSN and FNAME as... (2 Replies)
Discussion started by: matrix001
2 Replies

5. UNIX for Dummies Questions & Answers

grep single quotes or double quotes

Unix superusers, I am new to unix but would like to learn more about grep. I am very familiar with regular expressions as i have used them for searching text files in windows based text editors. Since I am not very familiar with Unix, I dont understand when one should use GREP with the... (2 Replies)
Discussion started by: george_vandelet
2 Replies

6. Shell Programming and Scripting

Perl echo with double quotes

I need to echo a string that has double quotes in a Perl script. #!/usr/bin/env perl `echo Rule123 -comment \"blah blah\" >> $filename` I'd like to get below appended to $filename: Rule 123 -comment "blah blah" But instead, the double quotes are lost: Rule 123 -comment blah bah ... (1 Reply)
Discussion started by: slchin
1 Replies

7. UNIX for Dummies Questions & Answers

Using sed to substitute between quotes.

I'm using sed to perform a simply search and replace. The typical data is: <fig><image href="Graphics/BAV.gif" align="left" placement="break" I need to replace the value in the first set of quotes, keeping the remainder of the line the same. Thus: <fig><image href="NEW_VALUE" align="left"... (3 Replies)
Discussion started by: Steve_altius
3 Replies

8. Shell Programming and Scripting

problems with double quotes in PERL

I have a cgi script I run through apache2 and I need to have a line that contains double quotes within double quotes. Here's what I need PERL to pass to rrdtool: HRULE:30#BBBB00:"30.0 constant":dashesIt's a little more complicated since I also have variables in the statement which requires... (13 Replies)
Discussion started by: audiophile
13 Replies

9. Shell Programming and Scripting

Displaying double quotes using Perl

Hi Guys, I'm a Perl newbie and was wondering if there's a way of displaying double quotes within double quotes. I'm try to print the contents of the variable to a file by using the system function. Here is an example of my code: #============================== $website = <STDIN>;... (2 Replies)
Discussion started by: kbdesouza
2 Replies

10. Shell Programming and Scripting

PERL, extract value between double quotes

I know this is probably much simplier than I am making but I need some help please. I have a data file that contains a value on the first line between double quotes ("00043"). I need to assign the value between the first set quotes to a variable in my perl script for comparison analysis. Also,... (6 Replies)
Discussion started by: methos
6 Replies
Login or Register to Ask a Question