PHP +修改字符串

时间:2012-05-21 13:43:46

标签: php string replace explode

我有一个字符串,想要在某个“点”+单词组合后删除所有内容。例如:

This.Is.A.Test

=>会成为

This.Is.A

5 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

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

答案 2 :(得分:0)

$result = explode('.', $str, 4);
array_pop($result);
implode('.', $result);

答案 3 :(得分:0)

我会做一些非常简单的事情:

<?php

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

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

echo $string;

?>

答案 4 :(得分:0)

$ pos = strpos($ haystack,“。A”);

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

......这样的事情。