yo tengo
var id="ctl03_Tabs1";
Usando JavaScript, ¿cómo podría obtener los últimos cinco caracteres o el último carácter?
yo tengo
var id="ctl03_Tabs1";
Usando JavaScript, ¿cómo podría obtener los últimos cinco caracteres o el último carácter?
Respuestas:
EDITAR: Como otros han señalado, use en slice(-5)
lugar de substr
. Sin embargo, vea la .split().pop()
solución al final de esta respuesta para otro enfoque.
Respuesta original:
Querrá usar el método de cadena Javascript .substr()
combinado con la .length
propiedad.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Esto hace que los caracteres comiencen en id.length - 5 y, dado que se omite el segundo argumento para .substr (), continúa hasta el final de la cadena.
También puede usar el .slice()
método como otros han señalado a continuación.
Si simplemente está buscando encontrar los caracteres después del guión bajo, puede usar esto:
var tabId = id.split("_").pop(); // => "Tabs1"
Esto divide la cadena en una matriz en el guión bajo y luego "saca" el último elemento de la matriz (que es la cadena que desea).
.split().pop()
es un gran éxito de rendimiento. Si esto es algo que está utilizando en un bucle y el rendimiento es crítico, querrá tener esto en cuenta.
.split().pop()
sigue siendo 5 millones de operaciones por segundo. No es un problema de rendimiento hasta que sea un problema de rendimiento. ;)
slice
es una mejor opción en este momento.
slice
o substr
en un número (int), conviértalo primero en una cadena. Por ejemplomyVar.toString().slice(-5)
No utilice .substr()
. Utilice el .slice()
método en su lugar porque es compatible con varios navegadores (consulte IE).
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
referencia: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15
? rebanada (-5) solo agarraría abs15
? split / pop funciona mucho mejor para longitudes variadas ...
Puede usar el método substr () con una posición de inicio negativa para recuperar los últimos n caracteres. Por ejemplo, esto obtiene los últimos 5:
var lastFiveChars = id.substr(-5);
Obtener el último carácter es fácil, ya que puede tratar las cadenas como una matriz:
var lastChar = id[id.length - 1];
Para obtener una sección de una cadena, puede usar la función substr o la función 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 diferencia entre substr
y substring
es cómo se trata el segundo parámetro (opcional). En substr
, es la cantidad de caracteres del índice (el primer parámetro). En substring
, es el índice de dónde debe terminar la división de caracteres.
El siguiente script muestra el resultado para obtener los últimos 5 caracteres y el último 1 carácter en una cadena usando JavaScript:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
Salida:
Pestañas1 // Tiene 5 caracteres
1 // Tengo 1 personaje
Echa un vistazo a la función de subcadena .
Para obtener el último personaje:
id.substring(id.length - 1, id.length);
¡No es necesario utilizar el substr
método para obtener un solo carácter de una cadena!
tomando el ejemplo de Jamon Holmgren podemos cambiar el método substr y simplemente especificar la posición de la matriz:
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
La función Substr le permite usar un signo menos para obtener el último carácter.
var string = "hello";
var last = string.substr(-1);
Es muy flexible Por ejemplo:
// 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"
Si solo desea el último carácter o cualquier carácter en la posición conocida, ¡simplemente puede trazar la cadena como una matriz! - las cadenas son iterables en javascript -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
Sin embargo, si necesita más de un solo carácter, usar el empalme es efectivo
x.slice(-5); //world
Con respecto a su ejemplo
"rating_element-<?php echo $id?>"
Para extraer la identificación, puede usar fácilmente split + pop
Id= inputId.split('rating_element-')[1];
Esto devolverá el id, o indefinido si no hay id después de 'rating_element' :)
Suponiendo que comparará la subcadena con el final de otra cadena y usará el resultado como un valor booleano, puede extender la clase de cadena para lograr esto:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
Permitiéndole hacer lo siguiente:
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);
Encontré esta pregunta y, a través de algunas investigaciones, descubrí que esta era la forma más fácil de obtener el último personaje.
Como otros han mencionado y agregado para completar para obtener los últimos 5:
var last5 = id.substr(-5);
Éste eliminará la coma si es el último carácter de la cadena.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
De hecho, tengo el siguiente problema y así es como lo resolví con la ayuda de la respuesta anterior, pero con un enfoque diferente al extraer la identificación de un elemento de entrada.
He adjuntado una entrada presentada con un
id="rating_element-<?php echo $id?>"
Y, cuando ese botón hizo clic, quiero extraer la identificación (que es el número) o la identificación de php ($ identificación) solamente.
Entonces aquí lo que hago.
$('.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
});
Últimos 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
Último
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
a substr
. Eso charAt
saca el quinto del último .
Estoy seguro de que esto funcionará ...
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
El valor de extension
será".pdf"