简体   繁体   中英

Regex URI portion: Remove hyphens

I have to split URIs on the second portion:

/directory/this-part/blah

The issue I'm facing is that I have 2 URIs which logically need to be one

/directory/house-&-home/blah
/directory/house-%26-home/blah

This comes back as:

house-&-home and house-%26-home

So logically I need a regex to retrieve the second portion but also remove everything between the hyphens.

I have this, so far:

 /[^(/;\?)]*/([^(/;\?)]*).*

(?<=directory\\/)(.+?)(?=\\/)

Does this solve your issue? This returns:

house-&-home and house-%26-home

Here is a demo

If you want to get the result:

house--home

then you should use a replace method. Because I am not sure what language you are using, I will give my example in java:

String regex = (?<=directory\/)(.+?)(?=\/);
String str = "/directory/house-&-home/blah"

Pattern.compile(regex).matcher(str).replaceAll("\&", "");

This replace method allows you to replace a certain pattern ( The & symbol ) with nothing ""

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM