io ho
var id="ctl03_Tabs1";
Utilizzando JavaScript, come posso ottenere gli ultimi cinque caratteri o l'ultimo carattere?
io ho
var id="ctl03_Tabs1";
Utilizzando JavaScript, come posso ottenere gli ultimi cinque caratteri o l'ultimo carattere?
Risposte:
EDIT: come altri hanno sottolineato, utilizzare slice(-5)
invece di substr
. Tuttavia, vedi la .split().pop()
soluzione in fondo a questa risposta per un altro approccio.
Risposta originale:
Ti consigliamo di utilizzare il metodo stringa JavaScript .substr()
combinato con la .length
proprietà.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Ciò ottiene i caratteri a partire da id.length - 5 e, poiché il secondo argomento per .substr () viene omesso, continua fino alla fine della stringa.
Puoi anche usare il .slice()
metodo come altri hanno sottolineato di seguito.
Se stai semplicemente cercando di trovare i caratteri dopo il trattino basso, puoi usare questo:
var tabId = id.split("_").pop(); // => "Tabs1"
Ciò divide la stringa in un array sul carattere di sottolineatura e quindi "elimina" l'ultimo elemento dell'array (che è la stringa desiderata).
.split().pop()
sono ancora 5 milioni di operazioni al secondo. Non è un problema di prestazioni fino a quando non è un problema di prestazioni. ;)
slice
è un'opzione migliore a questo punto.
slice
o substr
su un numero (int), convertilo prima in stringa. Ad esempiomyVar.toString().slice(-5)
Non usare .substr()
. Utilizzare .slice()
invece il metodo perché è compatibile con più browser (vedere IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
riferimento: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15
? slice (-5) afferrerebbe solo abs15
? split / pop funziona molto meglio per varie lunghezze ...
È possibile utilizzare il metodo substr () con una posizione iniziale negativa per recuperare gli ultimi n caratteri. Ad esempio, questo ottiene gli ultimi 5:
var lastFiveChars = id.substr(-5);
Ottenere l'ultimo carattere è facile, poiché puoi trattare le stringhe come un array:
var lastChar = id[id.length - 1];
Per ottenere una sezione di una stringa, è possibile utilizzare la funzione substr o la funzione substring :
id.substr(id.length - 1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.substr(2, 2); //get the 3rd and 4th characters
La differenza tra substr
e substring
è come viene trattato il secondo parametro (facoltativo). In substr
, è la quantità di caratteri dall'indice (il primo parametro). In substring
, è l'indice di dove dovrebbe finire la divisione dei caratteri.
Lo script seguente mostra il risultato per ottenere gli ultimi 5 caratteri e l'ultimo 1 carattere in una stringa utilizzando JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Produzione :
Tabs1 // Hai 5 caratteri
1 // Hai 1 personaggio
Scopri la funzione di sottostringa .
Per ottenere l'ultimo personaggio:
id.substring(id.length - 1, id.length);
Non è necessario utilizzare il substr
metodo per ottenere un singolo carattere di una stringa!
prendendo l'esempio di Jamon Holmgren possiamo cambiare il metodo substr e semplicemente specificare la posizione dell'array:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
La funzione Substr consente di utilizzare un segno meno per ottenere l'ultimo carattere.
var string = "hello";
var last = string.substr(-1);
È molto flessibile. Per esempio:
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
Se vuoi solo l'ultimo carattere o qualsiasi altro personaggio in posizione conosciuta, puoi semplicemente trasformare la stringa come un array! - le stringhe sono iterabili in javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Tuttavia, se hai bisogno di più di un solo personaggio, utilizzare la giunzione è efficace
x.slice(-5); //world
Per quanto riguarda il tuo esempio
"rating_element-<?php echo $id?>"
Per estrarre l'id puoi facilmente usare split + pop
Id= inputId.split('rating_element-')[1];
Questo restituirà l'id, o indefinito se nessun id era dopo "rating_elemento" :)
Supponendo di confrontare la sottostringa con la fine di un'altra stringa e di utilizzare il risultato come un valore booleano, è possibile estendere la classe String per ottenere questo risultato:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Consentendo di eseguire le seguenti operazioni:
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
Ho trovato questa domanda e attraverso alcune ricerche ho scoperto che questo è il modo più semplice per ottenere l'ultimo personaggio.
Come altri hanno già detto e aggiunto per completezza per ottenere gli ultimi 5:
var last5 = id.substr(-5);
Questo rimuoverà la virgola se è l'ultimo carattere nella stringa.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
In realtà ho il seguente problema e questo è il modo in cui l'ho risolto con l'aiuto della risposta sopra, ma un approccio diverso nell'estrazione dell'id forma un elemento di input.
Ho allegato un input archiviato con un
id="rating_element-<?php echo $id?>"
E, quando si fa clic su quel pulsante, voglio estrarre solo l'id (che è il numero) o l'ID php ($ id) .
Quindi ecco cosa faccio.
$('.rating').on('rating.change', function() {
alert($(this).val());
// console.log(this.id);
var static_id_text=("rating_element-").length;
var product_id = this.id.slice(static_id_text); //get the length in order to deduct from the whole string
console.log(product_id );//outputs the last id appended
});
Ultimo 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Scorso
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
a substr
. Questo charAt
ottiene il quinto dall'ultimo .
Sono sicuro che funzionerà ...
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
Il valore di extension
sarà".pdf"