$str=':this is a applepie :) ';
如何使用PHP,删除第一个字符:
答案 0 :(得分:513)
答案 1 :(得分:288)
要从字符串的开头删除每个:
,您可以使用ltrim:
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
答案 2 :(得分:89)
使用substr:
$str = substr($str, 1); // this is a applepie :)
答案 3 :(得分:64)
3个答案的执行时间:
通过替换案例
删除第一个字母$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
执行1.000.000次测试的时间:0.39602184295654
秒
使用substr()
删除第一个字母$str = "hello";
$str = substr($str, 1);
执行1.000.000次测试的时间:5.153294801712
秒
使用ltrim()
删除第一个字母$str = "hello";
$str= ltrim ($str,'h');
执行1.000.000次测试的时间:5.2393000125885
秒
使用preg_replace()
删除第一个字母$str = "hello";
$str = preg_replace('/^./', '', $str);
执行1.000.000次测试的时间:6.8543920516968
秒
答案 4 :(得分:24)
这是代码
$str = substr($str, 1);
echo $str;
输出:
this is a applepie :)
答案 5 :(得分:9)
$str = substr($str, 1);
echo substr('abcdef', 1); // bcdef
注意:
unset($str[0])
将无法正常工作,因为您无法取消字符串的一部分: -
Fatal error: Cannot unset string offsets
答案 6 :(得分:9)
经过进一步测试后,我不建议再使用它了。当在MySQL查询中使用更新的字符串时,它给我带来了问题,并且更改为substr
修复了问题。我想删除这个答案,但评论表明它更快,所以有人可能会使用它。您可能会发现修剪更新后的字符串会解决字符串长度问题。
有时您不需要功能:
$str[0] = '';
例如:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
此方法修改现有字符串,而不是创建另一个字符串。
答案 7 :(得分:8)
接受的答案:
$str = ltrim($str, ':');
有效,但如果一开始有多个:
,则会删除多个$str = substr($str, 1);
。
if ($str[0] === ':')
$str = substr($str, 1);
将从头开始删除任何字符。
然而,
export let ButtonClickHandlers = {
refreshDatabase: (url: string) => {
service.fetchJson<any>(url)
.then(res => {
if(res.isSuccessStatusCode){
//update state
}
else{
//update state
}
});
},
//more functions to be added later
}
完美无缺。
答案 8 :(得分:3)
您可以使用sbstr()函数
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
答案 9 :(得分:2)
根据正常trim()
修剪数组中每个单词的出现次数,从字符串的开头和结尾+空格和可选的额外单个字符开始<?php
function trim_words($what, $words, $char_list = '') {
if(!is_array($words)) return false;
$char_list .= " \t\n\r\0\x0B"; // default trim chars
$pattern = "(".implode("|", array_map('preg_quote', $words)).")\b";
$str = trim(preg_replace('~'.$pattern.'$~i', '', preg_replace('~^'.$pattern.'~i', '', trim($what, $char_list))), $char_list);
return $str;
}
// for example:
$trim_list = array('AND', 'OR');
$what = ' OR x = 1 AND b = 2 AND ';
print_r(trim_words($what, $trim_list)); // => "x = 1 AND b = 2"
$what = ' ORDER BY x DESC, b ASC, ';
print_r(trim_words($what, $trim_list, ',')); // => "ORDER BY x DESC, b ASC"
?>
答案 10 :(得分:1)
该代码适用于我。
$str = substr($str ,-(strlen($str)-1));
也许,也有答案。
答案 11 :(得分:0)
使用mb_substr函数
mb_substr("我abc", 1);
答案 12 :(得分:0)
要在PHP中删除字符串的第一个字符,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"