【发布时间】:2016-02-22 14:37:04
【问题描述】:
我有一串字符,我想在单词之间的空格上将其分解为子字符串,但子字符串之间的空格数不应超过 4。
例如:字符串:
“黄芩素是一种特异性脂氧合酶 (LOX) 抑制剂,具有抗炎和抗氧化作用。”
生成的子字符串应如下所示
1. 黄芩素,
2. 黄芩素,一个
3. 黄芩素,一种特殊的
4. 黄芩素,一种特殊的脂氧合酶
5. 黄芩素,一种特定的脂氧合酶 (LOX)
6. 一个
7. 具体的
...
我觉得 Regex 一定有什么办法,但我不确定
编辑
我使用过的代码:
my @arr = split('\s', $line);
for(my $i=0; $i<$#arr; $i++)
{
my $str1 = $arr[$i];
my $str2 = $arr[$i].' '.$arr[$i+1];
my $str3 = $arr[$i].' '.$arr[$i+1].' '.$arr[$i+2];
my $str4 = $arr[$i].' '.$arr[$i+1].' '.$arr[$i+2].' '.$arr[$i+3];
}
我的字符串很长,通过这种方法需要很多时间。
提前致谢
【问题讨论】:
-
为什么你认为正则表达式会有所帮助?
标签: regex string perl substring