Jak wywalić treść ze stringa

0

Cześć. Mam pytanie jak zrobić w js tak żeby po znalezieniu tekstu wywaliło jego końcówke

var text="ala ma kota i dwa psy";

i chciałbym żeby było tak że jeśli znajdzie w tekście słowo "kota" to żeby wywaliło z tekstu to "kota" i wszystko co jest po tym tekście dalej. Tak żeby zostało tylko ala ma

2

Na szybko to replace
UPDATE może:

"ala ma kota i dwa psy".replace("kota\.", "")

Albo może bardziej:

"ala ma kota i dwa psy".replace(/kota\./", "")
4

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split

const strCopy = str.split('kota');
console.log(strCopy[0]);

3

Istnieje wiele sposobów, żeby to zrobić.

Możesz:

  • Użyć wyrażęnia regularnego /kota.*/ (czyli złapać string "kota" i wszystko po nim), tak jak pisze @KamilAdam
  • Uciąć wystąpienie i złapać wszystko co było przed nim, tak jak pisze @Rado
  • Mógłbyś też znaleźć offset pozycji słowa "kota" , używając .indexOf() i potem przyciąć string do tej pozycji używająć .substr().

Pytanie się jednak pojawia, jaki powinien być wynik, jak podciąg występuje inną ilość niż, raz, np dwa? Co jeśli string ma treść "Ala ma kota, drugiego kota i psa". Czy wynik to powinno być "Ala ma ", czy "Ala ma kota, drugiego "? Bo zakładam że jeśli słowa nie ma w ogóle, to ciąg powinien być zwrócony bez zmian?

1 użytkowników online, w tym zalogowanych: 0, gości: 1