Perl - 如果字符串包含文本?

Hel*_*los 37 string perl string-matching

我想使用curl来查看页面的来源,如果该源包含与该字符串匹配的单词,那么它将执行打印.我该怎么办if $string contains

在VB中它就像.

dim string1 as string = "1"
If string1.contains("1") Then
Code here...
End If
Run Code Online (Sandbox Code Playgroud)

类似的东西,但在Perl中.

Eug*_*ash 90

如果您只需要在另一个字符串中搜索一个字符串,请使用该index函数(或者rindex如果您想从字符串的末尾开始扫描):

if (index($string, $substring) != -1) {
   print "'$string' contains '$substring'\n";
}
Run Code Online (Sandbox Code Playgroud)

要在字符串中搜索模式匹配,请使用匹配运算符m//:

if ($string =~ m/pattern/) {
    print "'$string' matches the pattern\n";       
}
Run Code Online (Sandbox Code Playgroud)

  • 只是对于子字符串,你应该使用`index`,这比正则表达式快4倍. (9认同)

Sea*_*ght 29

if ($string =~ m/something/) {
   # Do work
}
Run Code Online (Sandbox Code Playgroud)

something正则表达式在哪里.

  • 如果您匹配的不是正则表达式,则不需要匹配运算符.对于纯文本字符串,`index`函数工作得很好. (5认同)
  • 但是如果“某物”在变量中怎么办? (2认同)