如何仅连接字符串数组的子字符串,其中包含用户通过命令行输入位置的字符?
例如:如果$string
为"MALWCMRALPLCLALALCAWGPDPACAFVN"
且@array
包含'A'
中$string
的每个剪辑的子字符串。那么如何在原始字符串中连接位于3和9位(由用户通过命令行输入)的'L'
的两个子串?
答案 0 :(得分:1)
我不确定你打算做什么,但加入两个字符串你使用连接运算符
$string3 = $string1 . $string2 ;
加入一个字符串数组,你可以做
$string3 = join( "", @stringarr ) ;
您可以使用L
grep
的字符串
@selstrings = grep( /L/, @strarray ) ;
加入吧:
$string3 = join( "", @selstrings ) ;
使用grep中的模式,您可以定义您想要L's的位置:
@selstrings = grep( /^(.{2}|.{8})L/, @starray ) ;
当然,您可以首先使用命令行中的变量来构造正则表达式:
$regex = "^(.{" . $ARGV[0] . "}|.{" . $ARGV[1] . "})L" ;
@selstrings = grep( /$regex/, @starray ) ;