2011-05-23 14 views
13

Quiero eliminar todos los caracteres que aparecen después de "$" iniciar sesión en mi cadena mediante javascript.

¿Hay alguna función en javascript que me puede ayudar a lograr esto. Soy bastante nuevo en el scripting del lado del cliente.

Gracias.

Respuesta

10

hay algunas maneras diferentes

var myStr = "asdasrasdasd$hdghdfgsdfgf"; 
myStr = myStr.split("$")[0]; 

O

var myStr = "asdasrasdasd$hdghdfgsdfgf"; 
myStr = myStr.substring(0, myStr.indexOf("$") - 1); 
2

Uso .split() dividirla en los signos de dólar y luego agarrar el primer fragmento:

var oldstring = "my epic string $ more stuff"; 
var split = oldstring.split("$"); 
var newstring = split[0] + "$"; 
alert(newstring); //outputs "my epic string $" 
14

¿Qué tal esto

astr.split("$")[0]; 

NB Esto le dará todos los caracteres hasta el $. Si quieres ese personaje también, deberás anexarlo a este resultado.

11

Puede probar esta expresión regular, se reemplazará la primera aparición de $ y todo después de ella con un $.

str.replace(/\$.*/, '$'); 

de entrada: I have $100
Salida: I have $

+0

GRAN! ¡Yo usé esto! ¡¡Muchas gracias!! – user1555112

7

que necesita para obtener la subcadena y pasar el índice de la $ ya que es el segundo parámetro.

var newString = oldString.substring(0, oldString.indexOf("$", 0)) 
5

Utilice la subtring y métodos indexOf así:

var someString = "12345$67890"; 
alert(someString.substring(0, someString.indexOf('$'))); 

jsFiddle example

1

Las expresiones regulares son muy útiles:

/([^$]*\$?)/.exec("aa$bc")[1] === "aa$" 
+1

Nota: tipo de falla si la cadena no contiene un $ – Claudio

+1

Esto debería ser '/ ([^ $] * \ $?) /' –

+1

Gracias por la sugerencia, en realidad el OP implica que siempre hay un '$' aunque. – pimvdb

Cuestiones relacionadas