string verwijderen symbolen en vervangen lege ruimte door verbinhsstreepje

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Paul Weiss

Paul Weiss

07/05/2024 11:15:50
Quote Anchor link
Hoi 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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
string = "bla & ?  bla bla";
newstring = string.replace(/[^\p{L}\d\s]+/gu, '');
 
PHP hulp

PHP hulp

19/05/2024 15:41:11
 
Ad Fundum

Ad Fundum

07/05/2024 13:19:56
Quote Anchor link
Zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
newstring = string.replace(/[\W_]+/g,"-");
 
Jan Koehoorn

Jan Koehoorn

08/05/2024 15:59:47
Quote Anchor link
Eigenlijk 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)
PHP script in nieuw venster Selecteer het PHP script
1
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)
Gewijzigd op 08/05/2024 19:56:50 door Jan Koehoorn
 
Jan Koehoorn

Jan Koehoorn

13/05/2024 19:13:26
Quote Anchor link
Nee joh, niks te danken, ben je gek ;-)
 
Paul Weiss

Paul Weiss

13/05/2024 22:34:06
Quote Anchor link
sorry 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.
 
Ad Fundum

Ad Fundum

17/05/2024 10:11:23
Quote Anchor link
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!
Gewijzigd op 17/05/2024 10:11:47 door Ad Fundum
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.