PHP 문자열 끝에 있는 모든 특정 문자를 제거하려면 어떻게 해야 합니까?
마침표인 경우에만 마지막 문자를 제거하려면 어떻게 해야 합니까?
$string = "something here.";
$output = 'something here';
$output = rtrim($string, '.');
rtrim을 사용하면 마지막 문자뿐만 아니라 마지막에 모든 "."가 바뀝니다.
$string = "something here..";
echo preg_replace("/\.$/","",$string);
마지막 문자가 마침표일 때에만 제거되고 다음 문자에 의존하지 않으려면preg_replace
문자열을 char 배열로 취급하고 점일 경우 마지막 문자를 삭제할 수 있습니다.
if ($str[strlen($str)-1]==='.')
$str=substr($str, 0, -1);
난 그 질문이 풀렸다는 걸 알아.하지만 아마도 이 대답이 누군가에게 도움이 될 것이다.
rtrim()
- 문자열 끝에서 공백(또는 다른 문자)을 제거합니다.
ltrim()
- 문자열의 선두에서 공백(또는 다른 문자)을 제거합니다.
trim()
- 문자열의 처음과 끝에서 공백(또는 다른 문자)을 제거합니다.
문자열의 끝에서 특수문자를 삭제하거나 문자열 끝에 동적 특수문자가 포함되어 있는 경우 regex로 수행할 수 있습니다.
preg_replace
- 정규 표현 검색 및 치환
$regex = "/\.$/"; //to replace the single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
$regex = "/[.*?!@#$&-_ ]+$/"; //to replace all special characters (.*?!@#$&-_) from the end
$result = preg_replace($regex, "", $string);
다음 예시는 다음과 같습니다.$regex = "/[.*?!@#$&-_ ]+$/";
문자열에 적용됩니다.
$string = "Some text........"; // $resul -> "Some text";
$string = "Some text.????"; // $resul -> "Some text";
$string = "Some text!!!"; // $resul -> "Some text";
$string = "Some text..!???"; // $resul -> "Some text";
그것이 당신에게 도움이 되기를 바랍니다.
감사합니다:-)
나는 그 질문이 몇 살인지 알지만 내 대답이 누군가에게 도움이 될 수도 있다.
$string = "something here..........";
ltrim은 선행 닷을 제거합니다.예를 들어 다음과 같습니다.ltrim($string, ".")
rtrim rtrim($string, ".")
뒷부분의 점을 제거합니다.
다듬다 trim($string, ".")
후행점과 선행점을 제거합니다.
regex를 사용하여 이 작업을 수행할 수도 있습니다.
preg_replace would remove를 사용하여 끝에 있는 닷/점 제거 가능
$regex = "/\.$/"; //to replace single dot at the end
$regex = "/\.+$/"; //to replace multiple dots at the end
preg_replace($regex, "", $string);
그것이 당신에게 도움이 되기를 바랍니다.
마지막 문자는 여러 가지 방법으로 제거할 수 있습니다. 다음은 몇 가지 예입니다.
rtrim()
$output = rtrim($string, '.');
Regular Expression
preg_replace("/\.$/", "", $string);
substr()
/mb_substr()
echo mb_substr($string, 0, -1);
echo substr(trim($string), 0, -1);
substr()
와 함께trim()
echo substr(trim($string), 0, -1);
php의 rtrim 함수를 사용하면 마지막 위치에 있는 데이터를 트리밍할 수 있습니다.
예를 들어 다음과 같습니다.
$trim_variable= rtrim($any_string, '.');
가장 심플하고 빠른 방법!!
strpos와 기판의 조합을 사용하여 마지막 마침표 문자의 위치를 가져오고 다른 모든 문자를 그대로 유지합니다.
$string = "something here.";
$pos = strrpos($string,'.');
if($pos !== false){
$output = substr($string,0,$pos);
} else {
$output = $string;
}
var_dump($output);
// $output = 'something here';
chop() 함수는 문자열 오른쪽 끝에서 공백 또는 기타 정의된 문자를 삭제합니다.
$string = "something here.";
$string = chop($string,".");
echo $string;
산출량
여기 뭔가
예:
$columns = array('col1'=> 'value1', 'col2' => '2', 'col3' => '3', 'col4' => 'value4');
echo "Total no of elements: ".count($columns);
echo "<br>";
echo "----------------------------------------------<br />";
$keys = "";
$values = "";
foreach($columns as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
$keys = $keys."'".$x."',";
$values = $values."'".$x_value."',";
echo "<br>";
}
echo "----------------------Before------------------------<br />";
echo $keys;
echo "<br />";
echo $values;
echo "<br />";
$keys = rtrim($keys, ",");
$values = rtrim($values, ",");
echo "<br />";
echo "-----------------------After-----------------------<br />";
echo $keys;
echo "<br />";
echo $values;
?>
출력:
Total no of elements: 4
----------------------------------------------
Key=col1, Value=value1
Key=col2, Value=2
Key=col3, Value=3
Key=col4, Value=value4
----------------------Before------------------------
'col1','col2','col3','col4',
'value1','2','3','value4',
-----------------------After-----------------------
'col1','col2','col3','col4'
'value1','2','3','value4'
언급URL : https://stackoverflow.com/questions/2053830/how-do-i-remove-all-specific-characters-at-the-end-of-a-string-in-php
'sourcecode' 카테고리의 다른 글
MariaDB 10.2.16 데이터베이스 서버를 시작하지 못했습니다. (0) | 2022.09.22 |
---|---|
mockito를 사용한 개인 메서드 테스트 (0) | 2022.09.22 |
삽입 후 생성된 ID 가져오기 (0) | 2022.09.22 |
MariaDB에 의해 암호화된 유휴 데이터를 확인하는 방법 (0) | 2022.09.22 |
문자열의 특수 문자를 대체하려면 어떻게 해야 합니까? (0) | 2022.09.22 |