2

次のようにフォーマットされた文字列のセットがあるとします。

$string1 = "(substring1) Hello";
$string2 = "(substring2) Hi";

「()」の内部を単一の文字列として取得するにはどうすればよいですか。私はこれが可能であることを知っています:

$substring = explode( ")",$string1 );

しかし、その後、「(substring」を含む$substring[0]と、残りを含む$substring[1]が残っています。 '()' の内部を取得するための高速な方法はありますか? ありがとうございます。質問。

4

3 に答える 3

3

explode()は異なるため、回避策が必要になる場合があります。単純な正規表現で作業が完了します。

$string1 = "(substring1) Hello";
preg_match('#\((.*?)\)#', $string1, $match);  // preg_match_all if there can be multiple such substrings
print $match[1];
于 2013-09-09T07:35:24.490 に答える
1

爆発を維持したい場合は、部分文字列[0]でこれを行います。

$substring[0] = substr($substring[0],1);

これにより、「(」の後の部分が返されます。

それ以外の場合は、正規表現を使用して必要なものに一致させてください!

編集:

上記の回答をチェックして、正規表現の解決策を確認してください。この男は、問題を解決するための優れた方法を提供してくれました! :]

于 2013-09-09T07:36:12.537 に答える