Come rimuovere una sottostringa (un prefisso) da una matrice di elementi stringa? (Rimuovere la stringa secondaria da ogni elemento)Rimuovi prefisso da un elenco di stringhe
risposta
Uso RegExp
e ^
per assicurarsi che sia il prefisso e non solo un posto nella stringa:
var arr = ['a1', 'a2', 'a54a'];
for(var i = 0, len = arr.length; i < len; i++) {
arr[i] = arr[i].replace(/^a/, '');
}
arr; // '1,2,54a' removing the 'a' at the begining
var i;
for(i = 0; i < arr.length; i++)
arr[i] = arr[i].replace(substr, '');
Esempio:
var arr = ['test1', '2test', '3test3'];
// Use only one of these lines
var substr = 'test'; // This is for substrings
var substr = /^test/; // This is for prefixes only
var i;
for(i = 0; i < arr.length; i++)
arr[i] = arr[i].replace(substr, '');
console.log(arr); // Prints ["1", "2", "33"] to console
Basta scorrere il tuo elenco di stringhe (con un ciclo for ad esempio) e utilizzare il metodo replace
(details here)
Passare semplicemente attraverso di loro?
var list = ["foo", "bar", "meh"];
for(var i = 0; i < list.length; i++)
list[i] = list[i].substr(1, 1);
Molte delle risposte già date sono sbagliate, perché ti rimuovono la stringa di destinazione da qualsiasi punto ciascuno degli elementi (non solo all'inizio). Ecco un altro approccio:
var str = "str_";
["str_one", "str_two_str_", "str_three"].map(function(el) {
return el.replace(new RegExp("^" + str), '');
});
Risultato:
["one", "two_str_", "three"]
O, se si preferisce semplice iterazione (con nessuna funzione di ordine superiore):
var str = "str_";
var list = ["str_one", "str_two_str_", "str_three"];
for (var i = 0; i < list.length; i++)
list[i] = list[i].replace(new RegExp("^" + str), '');
Solo manzo con questo è che si sta istanziando un nuovo RegExp ogni volta che viene colpita la funzione. Almeno in altre lingue questo è costoso. –
Il numero di risposte su questa domanda da 10k più SO è impressionante. –
Solo per una certa varietà:
substr = new RegExp('(^|\|)prefix_', 'g');
arr = arr.join('|').replace(substr, '').split('|')
modifica - per mostrare come limitare al solo prefisso con espressione regolare a destra.
È possibile utilizzare il map
funzione di jQuery -
var arr = $.map(['a1', 'a2'],function (s) {
return s.replace(/^a/,'');
});
vorrei fare this:
var element = document.getElementsByTagName('p');
for(i in element){
str = element[i].innerHTML;
str = str.replace(/^pre_/,'');
element[i].innerHTML = str;
}
var pre = 'prefix_';
my_arr = my_arr.map(function(v){ return v.slice(pre.length); });
See MDN se è necessario il pieno supporto del browser per .map()
.
è inoltre possibile utilizzare .forEach()
se è necessario mantenere la matrice originale.
var pre = 'prefix_';
my_arr.forEach(function(v,i){ my_arr[i] = v.slice(pre.length); });
function trimPrefix(str, prefix) {
if (str.startsWith(prefix)) {
return str.slice(prefix.length)
} else {
return str
}
}
var prefix = "DynamicPrefix"
trimPrefix("DynamicPrefix other content", prefix)
- 1. Rimuovi stringhe vuote da TStringList
- 2. Prolog rimuovi elementi multipli da un elenco
- 3. Trova prefisso comune di stringhe
- 4. Rimuovi automaticamente stringhe non referenziate da strings.xml
- 5. Rimuovere le stringhe duplicate da un elenco
- 6. Rimuovi elementi da un elenco in un altro
- 7. Rimuovi parentesi [] da un elenco impostato su un testo?
- 8. Rimuovi punti elenco da @ Html.ValidationSummary() in MVC4
- 9. Come rimuovere elenco di parole da stringhe
- 10. Funzioni di processo da un elenco di stringhe in Python
- 11. Rimuovi "api" prefisso dal Web API URL
- 12. Rimuovi elementi duplicati da un elenco in Erlang
- 13. Rimuovi elementi nulli da un elenco in Groovy
- 14. Come si sostituisce da un elenco di stringhe in VIM?
- 15. Java: ordinamento ingannevole di stringhe con prefisso (ArrayLists)
- 16. Trova sottostringa in un elenco di stringhe
- 17. Schema XML: un elenco di stringhe
- 18. Come formattare un elenco di stringhe
- 19. Come passare un elenco di stringhe
- 20. Python - Conversione di stringhe in un elenco
- 21. restituisce un elenco di stringhe come JSONResult
- 22. Come eliminare tutte le stringhe da un elenco
- 23. Rimozione stringhe duplicate da un elenco in python
- 24. Regex per far corrispondere stringhe specifiche senza un prefisso dato
- 25. Modo efficiente per creare stringhe da un elenco
- 26. Rimuovere stringhe da un elenco che contiene numeri in python
- 27. Come rimuovere stringhe in lista da un altro elenco?
- 28. Python: Elenco contenente elenco secondario di stringhe
- 29. In MySql, trovare stringhe con un prefisso dato
- 30. Rimuovi elementi da elenco utilizzando lista pitone comprehensions
La richiesta OP un prefisso, però, il codice attualmente lo sostituirà qualunque punto della stringa – Joe
ha appena detto stringa. – Paulpro
Ha chiesto "Rimuovi prefisso da un elenco di stringhe" – Joe