2016-04-14 23 views
11

Ho una query molto piccola. Ho provato ad usare concat, charAt, slice e quant'altro, ma non ho avuto modo di farlo.Sostituisci l'ultimo carattere di stringa utilizzando JavaScript

Qui è la mia stringa:

var str1 = "Notion,Data,Identity," 

voglio sostituire l'ultimo , con un . dovrebbe assomigliare a questo.

Qualcuno può farmi sapere come ottenere ciò?

+0

Sicuramente si è tentato * qualcosa *? Ha fatto qualche ricerca? –

+0

FWIW: https://jsperf.com/replace-last-character-of-a-string –

risposta

28

Si può farlo con facilità regex,

var str1 = "Notion,Data,Identity,".replace(/.$/,".") 

.$ corrisponderà alcun carattere alla fine di una stringa.

+0

Grazie Aravindasamy. Puoi farmi sapere che cosa è usato anche per /.$/. – Patrick

+2

@Patrick Questo è i componenti regex. '.' corrisponderà a qualsiasi carattere. E '$' si unirà con quel punto per abbinare qualsiasi carattere alla fine della stringa. –

16

È possibile rimuovere gli ultimi N caratteri di una stringa utilizzando .slice(0, -N) e concatenare il nuovo finale con +.

var str1 = "Notion,Data,Identity,"; 
var str2 = str1.slice(0, -1) + '.'; 
console.log(str2); 
Notion,Data,Identity. 

argomenti negativi per tagliare rappresenta offset dalla fine della stringa, anziché all'inizio, quindi in questo caso stiamo chiedendo per la porzione della stringa dall'inizio alla One- personaggio-da-the-end.

2

Questo non è elegante ma è riutilizzabile.

term(str, char)

str: stringa che necessitano di una corretta terminazione

char: carattere a terminare stringa con

var str1 = "Notion,Data,Identity,"; 
 

 
function term(str, char) { 
 
    var xStr = str.substring(0, str.length - 1); 
 
    return xStr + char; 
 
} 
 

 
console.log(term(str1,'.'))

Problemi correlati