마침표인 경우에만 마지막 문자를 제거하려면 어떻게 해야 합니까?
$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);
그것이 당신에게 도움이 되기를 바랍니다.