string verwijderen symbolen en vervangen lege ruimte door verbinhsstreepje
Paul Weiss
07/05/2024 11:15:50Hoi iedereen. Ik wil in javascript graag bij een string alle speciale karakters verwijderen en alle leegruimtes vervangen door een verbindingsstreepje. Bij meerdere lege ruimtes naast elkaar mag er maar 1 verbindgsstreepje voor de plaats komen uiteraard. Ik heb nu het volgende, waarbij alle speciale karakters worden verwijderd. Mijn vraag is: Is onderstaande de juiste werkwijze is om alle speciale symbolen eruit te filteren en hoe krijg ik het voor elkaar om de leegruimte te vervangen door een verbindingsstreepje?
PHP hulp
22/12/2024 06:58:24Jan Koehoorn
08/05/2024 15:59:47Eigenlijk is het iets meer werk. Je moet wat "edge cases" opvangen, zoals gekke tekens aan het begin en/of eind van de string. Ongeveer zoiets:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
let test = ' a b c & d 1 f ABCDEF &'
test = test.trim() // trim spaces from beginning/end
test = test.toLowerCase()
test = test.replace(/[\W_]+/g, '-') // replace any non-word characters by hyphens
test = test.replace(/^[-]+|[-]+$/g, ''); // trim hyphens from beginning/end
console.log(test)
test = test.trim() // trim spaces from beginning/end
test = test.toLowerCase()
test = test.replace(/[\W_]+/g, '-') // replace any non-word characters by hyphens
test = test.replace(/^[-]+|[-]+$/g, ''); // trim hyphens from beginning/end
console.log(test)
Gewijzigd op 08/05/2024 19:56:50 door Jan Koehoorn
Jan Koehoorn
13/05/2024 19:13:26Paul Weiss
13/05/2024 22:34:06sorry dat ik even niet heb gereageerd. had het nogal druk laatste tijd. Iedereen bedankt voor jullie bijdrage. enorm mee geholpen. toch erg fijn dit forum.
Jan Koehoorn op 08/05/2024 15:59:47:
Eigenlijk is het iets meer werk. Je moet wat "edge cases" opvangen, zoals gekke tekens aan het begin en/of eind van de string.
Toch fijn dat er mensen zijn met verstand van reguliere expressies.
Ik kon er nooit echt aan wennen, mede omdat er meerdere standaarden zijn.
Dus: dank aan Jan!