find duplicate characters count in a string

input: "Banana",

output: "B---------------1" , "aaa---------------3", "nn---------------2" 

any one try it anthor way ..

{

a!localVariables(
local!data: "Banana",
local!len: len(local!data),
local!merge: union(
a!forEach(
items: enumerate(local!len) + 1,
expression: local!data[fv!index]
),
a!forEach(
items: enumerate(local!len) + 1,
expression: local!data[fv!index]
)
),
local!all: a!forEach(
items: enumerate(local!len) + 1,
expression: local!data[fv!index]
),
a!forEach(
items: local!merge,
expression: index(
local!data,
wherecontains(fv!item, local!all),
{}
) & "---------------" & count(wherecontains(fv!item, local!all))
)
)

}

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer

    Hi,

    Another way to achieve this logic

    a!localVariables(
      local!word: "Banana",
      a!forEach(
        items: {
          "A","B","C","D","E","F","G","H", "I","J","K","L",
          "M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
        },
        expression: a!localVariables(
          local!count: if(
            regexmatch(fv!item, upper(local!word), 1) > 0,
            count(regexallmatches(fv!item,local!word)),
            {}
          ),
          if(
            a!isNullOrEmpty(local!count),
            {},
            concat(repeat(local!count, fv!item), "-------", local!count)
          )
        )
      )
    )

Reply
  • 0
    Certified Lead Developer

    Hi,

    Another way to achieve this logic

    a!localVariables(
      local!word: "Banana",
      a!forEach(
        items: {
          "A","B","C","D","E","F","G","H", "I","J","K","L",
          "M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"
        },
        expression: a!localVariables(
          local!count: if(
            regexmatch(fv!item, upper(local!word), 1) > 0,
            count(regexallmatches(fv!item,local!word)),
            {}
          ),
          if(
            a!isNullOrEmpty(local!count),
            {},
            concat(repeat(local!count, fv!item), "-------", local!count)
          )
        )
      )
    )

Children