Skip to content

Does jmespath support "substring" function #77

Open

Description

@zacard-orc

hello, i met a problem ,to use different char idx to switch the business. eg

"01234abc" : extract if ab => way to 1
"01234efg" : extract if ef => way to 2
"01234mno" : extract if mn=> way to 3

I browse the official doc and not found any method to support this.

Dose anybody met the same problem and how to resolve it ?

Activity

  1. darrenmothersele commented on Nov 9, 2021

    @darrenmothersele

    Hi, sorry - I don't understand your description of what you are trying to do. Can you give an example (or two) of expected input and expected output?

  2. jarrodek commented on Jun 4, 2022

    @jarrodek

    I have a similar issue. I would like to have a built-in function that performs a similar to String.prototype.substring() operation.

    For given input:

    {
      "foo": "bar"
    }

    I would like to run an expression like this:

    // in JS the substring has a signature of substring(indexStart, indexEnd)
    .search(..., 'foo | substring(0, 1)') // ba
    .search(..., 'foo | substring(0, 2)') // bar
    .search(..., 'foo | substring(0)') // bar
    .search(..., 'foo | substring(1)') // ar

    or by using slice expression

    .search(..., 'foo[0:1]') // ba
    .search(..., 'foo[0:2]') // bar
    .search(..., 'foo[0]') // bar
    .search(..., 'foo[1]') // ar
  3. springcomp commented on Aug 9, 2022

    @springcomp

    @zacard-orc we are standardizing a host of string manipulation functions in JMESPath Community. Substrings will be achieved using the existing slice-expression syntax.

  4. jpmckinney commented on Mar 7, 2023

    @jpmckinney
  5. springcomp commented on Mar 8, 2023

    @springcomp

    JEP: jmespath/jmespath.jep#5

    Yep ! that’s exactly where I took this piece of feedback when brainstorming the list of features to include in the next version of JMESPath. Incidentally, @glenveegee has created an awesome port of JMESPath to TypeScript but this does not seem to be maintained any longer.

    So, while preparing a version for JMESPath Community, I am proposing all my changes upstream anyway. I hope to find an official maintainer then.

  6. glenveegee commented on Mar 16, 2023

    @glenveegee

    @springcomp I'm updating it as we speak. Just been busy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions