我在PHP中有一个字符串。
(check_nt!USEDDISKSPACE!-l g -w 90 -c 95)
我想将第一个!
(check_nt
和USEDDISKSPACE
之间)的字符串拆分为两个数组。
我想用strpos
来获取第一个星座的位置。
我不知道如何将我从strpos
得到的数字位置的字符串拆分为返回值。
答案 0 :(得分:1)
使用以下正则表达式:
^(\([^!]+)([ -~]+)$
这会给你:
Grp 1. `(check_nt` Grp 2. `!USEDDISKSPACE!-l g -w 90 -c 95)`
答案 1 :(得分:1)
我假设你使用PHP,所以除substr外还要考虑strpos:
$str = "(check_nt!USEDDISKSPACE!-l g -w 90 -c 95)";
$pos = strpos($str, "!");
$a = substr($str, 0, $pos); // $a = "(check_nt"
$b = substr($str, $pos + 1); // $b = "USEDDISKSPACE!-l g -w 90 -c 95)"
使用explode的其他方法:
$str = "(check_nt!USEDDISKSPACE!-l g -w 90 -c 95)";
$arr = explode("!", $str, 2); // $arr[0] = "(check_nt"
// $arr[1] = "USEDDISKSPACE!-l g -w 90 -c 95)"
请注意,这两种方法都会删除要分割的!
。
答案 2 :(得分:0)
使用正则表达式:
/^.*!/
将匹配字符串的第一部分,而
/!.*$/
到第二部分。但实现取决于您使用的语言。