如何删除除了PHP中某些部分之外的字符串中的所有内容?

时间:2015-05-12 13:22:27

标签: php html string variables

我们说我的字符串是这样的:

Village_name(315|431 K64)

我想要做的是当我将其粘贴到“说”文本框中,然后点击按钮时,我将留下的只有315|431

有没有办法做到这一点?

3 个答案:

答案 0 :(得分:2)

使用以下正则表达式,然后将匹配项替换为let inline sumMyList myList = List.sum myList

\1

它捕获(\d+\|\d+)|. 部分并匹配所有剩余的字符。将所有匹配的字符替换为number|number只会为您提供\1部分。

DEMO

在php中,您也可以使用它。

number|number
匹配(?:\d+\|\d+)(*SKIP)(*F)|. 正则表达式的子字符串将首先匹配,而后面的\d+\|\d+使正则表达式失败。现在,在管道符号匹配除(*SKIP)(*F)之外的所有字符之后,.,因为我们已经跳过该部分。

DEMO

答案 1 :(得分:2)

我知道这个问题已得到解答,答案已被接受。但我仍然想建议这个答案,因为你真的不需要使用PHP来实现你的要求。只需使用Javascript。足够了:

var str = 'Village_name(315|431 K64)';
var pattern = /\((\w+\|\w+) /;
var res = str.match(pattern);
document.write(res[1]);

答案 2 :(得分:1)

请试试这个: -

<?php

   $str = 'Village_name(315|431 K64)';
   preg_match_all('/(?:\d+\|\d+)/', $str, $matches);
   echo "<pre/>";print_r($matches);//print in array format completly
   $i=0;
   foreach($matches as $match){ //iteration through one foreach as you asked
       echo $match[$i];
      $i++;
   }
?>

输出: - http://prntscr.com/74ddg9

注意: - 爆炸可以进行一些调整,但如果格式只是你给出的那样。那就去preg_match_all。这是最好的。