0

この文字列を取得しましたが、特定のものを削除する必要があります...

元の文字列: hr-165-34.sh-290-92.ch-215-84.hd-180-1.lg-280-64.

必要な文字列: sh-290-92.ch-215-84.lg-280-64.

削除する必要がありhr-165-34. and hd-180-1ます。!

編集:ああ、ひっかかりました!

文字列は常に変化するため、削除する必要があるビットは「hr-165-34」のようになります。常に変化し、常に「hr-SOMETHING-SOMETHING」になります。

したがって、使用している方法は機能しません。

ありがとう

4

5 に答える 5

3

それらのSubstrigを正確に削除したい理由によって異なります...

  • これらの部分文字列を常に正確に削除したい場合は、次を使用できます。str_replace
  • 常に同じ位置にある文字を削除したい場合は、substr
  • 特定の基準に一致する2つのドット間のサブストリングを常に削除する場合は、次を使用できます。preg_replace
于 2012-07-08T11:09:45.553 に答える
2
$str = 'hr-165-34.sh-290-92.ch-215-84.hd-180-1.lg-280-64';
$new_str = str_replace(array('hr-165-34.', 'hd-180-1.'), '', $str);

に関する情報str_replace

于 2012-07-08T11:09:02.277 に答える
0

これを行う最も簡単で迅速な方法は、str_replaceを使用することです。

$ostr = "hr-165-34.sh-290-92.ch-215-84.hd-180-1.lg-280-64";
$nstr = str_replace("hr-165-34.","",$ostr);
$nstr = str_replace("hd-180-1.","",$nstr);
于 2012-07-08T11:06:54.977 に答える
0
<?php    
$string = 'hr-165-34.sh-290-92.ch-215-84.hd-180-1.lg-280-64';

// define all strings to delete is easier by using an array
$delete_substrings = array('hr-165-34.', 'hd-180-1.');
$string = str_replace($delete_substrings, '', $string);


assert('$string == "sh-290-92.ch-215-84.lg-280-64" /* Expected result: string = "sh-290-92.ch-215-84.lg-280-64" */');
?>
于 2012-07-08T11:13:03.007 に答える
0

私はそれを理解しました!

$figure = $q['figure']; // hr-165-34.sh-290-92.ch-215-84.hd-180-1.lg-280-64

$s = $figure;
$matches = array();
$t = preg_match('/hr(.*?)\./s', $s, $matches);

$s = $figure;
$matches2 = array();
$t = preg_match('/hd(.*?)\./s', $s, $matches2);

$s = $figure;
$matches3 = array();
$t = preg_match('/ea(.*?)\./s', $s, $matches3);

$str = $figure;
$new_str = str_replace(array($matches[0], $matches2[0], $matches3[0]), '', $str);
echo($new_str);

みんなありがとう!

于 2012-07-08T12:34:34.373 に答える