Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add find-and-replace expression operator #4100

Open
lucaswoj opened this issue Feb 1, 2017 · 6 comments
Open

Add find-and-replace expression operator #4100

lucaswoj opened this issue Feb 1, 2017 · 6 comments
Labels
api 📝 cross-platform 📺 Requires coordination with Mapbox GL Native (style specification, rendering tests, etc.)

Comments

@lucaswoj
Copy link
Contributor

lucaswoj commented Feb 1, 2017

From @nickidlugash on August 3, 2015 23:46

Currently we can't make use of the way duplex shields in the mapbox streets data are designed to be styled, because we can't use regex as part of values, and we also don't accept \n as a space for line wrapping. Is it feasible to implement the ability to use find/replace and \n?

Copied from original issue: mapbox/mapbox-gl-style-spec#321

@lucaswoj
Copy link
Contributor Author

lucaswoj commented Feb 1, 2017

From @1ec5 on August 3, 2015 23:48

The regex half of this is covered by #233.

@lucaswoj
Copy link
Contributor Author

lucaswoj commented Feb 1, 2017

From @jfirebaugh on August 4, 2015 0:53

#233 is for the use of regexes in filters, which is a different use case.

I seem to recall an issue for wrapping on newlines, but I can't find it at the moment.

@lucaswoj
Copy link
Contributor Author

lucaswoj commented Feb 1, 2017

We have a separate issue for regex support and have already implemented newline support.

@lucaswoj
Copy link
Contributor Author

lucaswoj commented Feb 1, 2017

From @jfirebaugh on December 22, 2016 18:25

As noted above: the other issue is for regex support in filters. This is about regex support in functions.

@1ec5 1ec5 added the cross-platform 📺 Requires coordination with Mapbox GL Native (style specification, rendering tests, etc.) label Feb 3, 2017
@1ec5
Copy link
Contributor

1ec5 commented Oct 26, 2017

As of #5434, expressions (the successor to functions) can be used as filters. #4089 tracks adding an expression operator for testing whether a string matches a regular expression, but we can leave this issue open to track adding an expression operator for finding and replacing occurrences of a substring or regular expression match within a given string.

@stevage
Copy link
Contributor

stevage commented Jan 21, 2024

Currently you can kind of workaround find-and-replace without regex, but it's pretty clunky:

["match", ["index-of", "Mount", ["to-string", ["get", "name"]]], 0, ["concat", "Mt", ["slice", ["to-string", ["get", "name"]],5]],  ["to-string", ["get", "name"]]]

This would certainly improve the ergonomics of that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api 📝 cross-platform 📺 Requires coordination with Mapbox GL Native (style specification, rendering tests, etc.)
Projects
None yet
Development

No branches or pull requests

4 participants