$str=':this is a applepie :) ';
Come usare PHP , rimuovi il primo carattere:
$str=':this is a applepie :) ';
Come usare PHP , rimuovi il primo carattere:
Risposte:
Per rimuovere ogni :
dall'inizio di una stringa, puoi usare ltrim :
$str = '::f:o:';
$str = ltrim($str, ':');
var_dump($str); //=> 'f:o:'
:::::
. A volte questo non è il comportamento desiderato.
ltrim('prefixprefix_postfix', 'prefix')
risultati in'_postfix';
La substr()
funzione probabilmente ti aiuterà qui:
$str = substr($str, 1);
Le stringhe sono indicizzate a partire da 0 e questo secondo parametro di funzioni accetta il cutstart. Quindi crealo 1 e il primo carattere è sparito.
false
stato restituito. Quindi dovresti controllare se sono uguali se questo non è il comportamento che desideri.
Usa substr :
$str = substr($str, 1); // this is a applepie :)
Tempo di esecuzione delle 3 risposte:
Rimuovi la prima lettera sostituendo la custodia
$str = "hello";
$str[0] = "";
// $str[0] = false;
// $str[0] = null;
// replaced by �, but ok for echo
Tempo di esecuzione per 1.000.000 di test: 0.39602184295654
sec
Rimuovi la prima lettera con substr ()
$str = "hello";
$str = substr($str, 1);
Tempo di esecuzione per 1.000.000 di test: 5.153294801712
sec
Rimuovi la prima lettera con ltrim ()
$str = "hello";
$str= ltrim ($str,'h');
Tempo di esecuzione per 1.000.000 di test: 5.2393000125885
sec
Rimuovi la prima lettera con preg_replace ()
$str = "hello";
$str = preg_replace('/^./', '', $str);
Tempo di esecuzione per 1.000.000 di test: 6.8543920516968
sec
$str[0] = '';
soluzione e non ha funzionato. bene, tuttavia, se si prevede di utilizzare la variabile per esempio per confrontare >
o <
non funzionerà. Conta ancora `` come + `per esempio $str = 'hello'; $str[0] = ''; var_dump($str); // string(5) 'ello'
var_dump($keyword)
ho provato che mostrava la lunghezza del carattere precedente .. poi ho provato a tagliare la parola chiave e poi ha funzionato bene var_dump(trim($keyword))
.. Spero che questo aiuti qualcuno .. :)
Ecco il codice
$str = substr($str, 1);
echo $str;
Produzione:
this is a applepie :)
Per rimuovere il primo carattere della stringa in PHP,
$string = "abcdef";
$new_string = substr($string, 1);
echo $new_string;
Generates: "bcdef"
$str = substr($str, 1);
Vedi il manuale di esempio 3 di PHP
echo substr('abcdef', 1); // bcdef
Nota:
unset($str[0])
non funzionerà poiché non è possibile annullare l'impostazione di una parte di una stringa: -
Fatal error: Cannot unset string offsets
Dopo ulteriori test, non consiglio di usarlo più. Mi ha causato un problema quando ho usato la stringa aggiornata in una query MySQL e ho cambiato substr
il problema. Ho pensato di eliminare questa risposta, ma i commenti suggeriscono che è più veloce in qualche modo, quindi qualcuno potrebbe averne un uso. È possibile che il taglio della stringa aggiornata risolva i problemi di lunghezza della stringa.
A volte non hai bisogno di una funzione:
$str[0] = '';
Per esempio:
$str = 'AHello';
$str[0] = '';
echo $str; // 'Hello'
Questo metodo modifica la stringa esistente anziché crearne un'altra.
puoi usare la funzione sbstr ()
$amount = 1; //where $amount the the amount of string you want to delete starting from index 0
$str = substr($str, $amount);
Taglia le occorrenze di ogni parola in un array dall'inizio e dalla fine di una stringa + spazi bianchi e, facoltativamente, caratteri singoli extra come da normale 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"
?>
Il codice funziona bene per me.
$str = substr($str ,-(strlen($str)-1));
Forse, contribuisci anche con le risposte.