0

文字列があり、特定の「ドット」と単語の組み合わせの後のすべてを削除したいと思います。例えば:

This.Is.A.Test

=>になります

This.Is.A
4

5 に答える 5

3

特定のドット+単語の後のすべてを削除したいですか、それとも最後のドット+単語だけを削除したいですか?特定の単語を探している場合は、次のことを試してください。

$str = "This.Is.A.Test";
$find = ".A";
$index = strpos($str, $find);
if ($index !== false)
    $str = substr($str, 0, $index + strlen($find));
echo $str; // "This.Is.A"

@SuperSkunkへの応答:

単語全体を一致させたい場合は、次のようにすることができます。

$find = ".A.";

$str = "This.Is.A.Test";
$index = strpos($str, $find);
if ($index !== false)
    $str = substr($str, 0, $index + strlen($find) - 1);
echo $str; // "This.Is.A"

$str = "This.Is.AB.Test";
$index = strpos($str, $find);
if ($index !== false)
    $str = substr($str, 0, $index + strlen($find) - 1);
echo $str; // "This.Is.AB.Test" (did not match)
于 2012-05-21T13:50:09.940 に答える
1

$str = "This.Is.A.Test"; $str = substr($str, 0, strrpos($str, "."));

于 2012-05-21T13:52:35.590 に答える
0
$result = explode('.', $str, 4);
array_pop($result);
implode('.', $result);
于 2012-05-21T13:49:16.447 に答える
0

私は次のような非常に単純なことをします:

<?php

$string = 'This.Is.A.Test';

$parts = explode('.', $string);
array_pop($parts); // remove last part
$string = implode('.', $parts);

echo $string;

?>
于 2012-05-21T13:50:01.950 に答える
0

$ pos = strpos($ haystack、 ".A");

$ result = substr($ haystack、0、$ pos);

...このようなもの。

于 2012-05-21T13:53:29.807 に答える