일치하는 단어를 찾은 후 문자열을 삽입하는 스크립트를 작성하고 싶습니다. 성냥 어구가 여러 번 나타나지만 두 번째 어커런스에 삽입하고 싶습니다. 펄에서 스크립트를 작성하는 방법은?일치 항목을 찾은 후 문자열을 삽입하십시오.
-2
A
답변
1
동적 또는 정적 스크립트가 있어야하는 점과 예제를 제공하지 않았다는 사실에 대해 잘 모르시 겠지만, 나는 올바른 방향으로 여러분을 안내 할 수있는 간단한 해결책을 제공 할 것입니다. 단어 문자열을 검색 한 다음 그 뒤에 개행 문자를 추가합니다. 또한 /g
스위치를 사용하므로 문자열의 모든 string
단어에 대해 전체적으로 처리됩니다.
use strict;
use warnings;
my $str = "this is my string";
$str=~s/string/string\nAnother string/g;
print $str;
여기에서 모든 것을 제공하기를 기대하는 대신 연구 조사에 약간의 노력을 기울이는 것이 좋습니다. 당신은 Perl 초보자 인 것 같습니다. 초보자를위한 Perl Tutorials
을 검색하십시오. 내가 제대로 이해
0
희망은이
당신은 당신이 또한
use warnings;
use strict;
my $match_to_insert = 2; #which match you need to insert
my $f = 1;
while($s=~m/stack/gi)
{
substr($s,$+[0],0) = "\n" , last if($f eq $match_to_insert);
$f++;
}
print "$s\n";
$+[0]
my $s = "Stack is a linear data structure stack follows a particular order in stack the operations are performed";
$s=~s/(.*?Stack){3}\K//i;
또는 정규식을 사용하여 다음과 시도 일치하는 문자열의 위치, 그리고 그 인덱스와 substr 기능을 만들고있어 그 위치에 '\ n'을 삽입 해요.
귀하의 질문은 애매 모호합니다. 귀하가 성취하고자하는 것에 대한 모범이 없으며, 무엇보다도 귀하의 의견을 해결하기위한 노력이 전혀 필요하지 않습니다. 좋은 결과 내길 바랄 게. –
무엇을 시도 했습니까? 어떤 문제가 있습니까? 귀하의 코드를 보여주십시오. 코드가 없으면 스택 오버플로가 아마도 잘못된 질문 일 것입니다. –