2015-06-30 6 views
0

У меня есть строка:Замените, замените строку на perl

$string= "only this I need".

Я новичок в perl, и я попытался перевести код PL/SQL в perl.
Моя цель состоит в том, чтобы заменить " с пустым пространством, в конце концов это должно выглядеть следующим образом:

$string = only this I need

В PL/SQL Я использую это и работает очень хорошо:

REGEXP_REPLACE(string,'"',''); 

В perl я пробовал это, но не работает: $string=~s/"/''; получает сообщение об ошибке.

Пожалуйста, помогите мне, скажите, что мне нужно для чтения, чтобы правильно выполнять свою работу?

+0

'$ строка = ~ тр /"//; '(как' TRANSLATE (string1, гл ars_to_replace, replacement_chars) ') –

ответ

2

Попробуйте это должно работать:

use strict; 
use warnings; 

my $string= '"only this I need"'; 

print "$string \n"; #prints "only this I need" 

$string =~ s/"/ /g; 

print "$string \n"; #prints only this I need 
+1

Удаляет все вхождения '' 'в одно пространство. Что еще вам нужно? –

+0

моя ошибка, я забыл написать «/ g» – Silviu

0

Это способ, чтобы удалить кавычки из строки:

my $string= '"only this I need"'; 
$string =~ m/"([^"]*)"/; 
print "$1\n"; 

В случае, если вы знаете, что первый и последний символ кавычки, вы можете сделать это без использования regex, просто используйте substr:

my $string= '"only this I need"'; 
$string = substr $string, 1, -1; 
print "$string\n";