从字符串中获取带有字符索引的子字符串

SLP*_*SLP 1 string perl substring

我正在尝试从.txt文件中获取信息:

function1(par1, par2)
function2(par1)
function3(par1, par2, par3)
Run Code Online (Sandbox Code Playgroud)

例如,我想将第一行“ function1”作为字符串,将“ par1”和“ par2”作为字符串。

我现在可以从字符串中提取模式,但是我想知道是否有可能使用其字符索引来获取子字符串。

例如在Python中:

$function = $row[0:8]
Run Code Online (Sandbox Code Playgroud)

会给我“ function1”

谢谢,

SLP

zdi*_*dim 5

如示例输入所示,解析函数调用的编程文本

my $string = 'function1(par1, par2)';

my ($func_name, @params) = split /\s*\(\s*|\s*,\s*|\s*\)/, $string;
Run Code Online (Sandbox Code Playgroud)

其中split Builtin使用正则表达式作为分隔符模式,我们告诉它使用(or ,或or 分解字符串)(我还添加了右括号,以使最后一个元素不会卡在其中)。正则表达式模式还可能在周围散布一些空间。

如果您的.txt文件字面上显示的行与您显示的行相同,则只需将以上内容应用于每行。如果每行上还有更多内容,则需要先对其进行预处理(或使用其他方法);如果行数超出显示的范围,请显示实际输入。