Split string

An utility to split a string based on an character 

A procedure to use in Seeburger BIC Mapping Designer
It will extend your library for string handling

//    Peter Lykkegaard, 22 mar 2019
//    -----------------------------
//    Split string into its sub components based input characters

//    TODO! Check paramteters if they are of valid type/content
//
//    Name: splitString
//    Description: 
//    Parameters
//        input$, alphanumerical / String which needs to be split
//        criteria$, alphanumerical / Character to split
//    Output, alphanumeric / array / Array of strings to return

local output$[];

#javastart

    final String input = _StrVar_INPUT.getString();
    final String criteria = _StrVar_CRITERIA.getString();

    String[] data;

    if ((criteria == "-") || (criteria == "+") || (criteria == "|"))
    {
        data = input.split("\\" + criteria + "|\\*|\\/");
    }
    else
    {
        data = input.split(criteria, 0);
    }
    
    int idx = 0;

    for (int i = 0; i < data.length; i++) 
    { 
        _StrVar_OUTPUT.getJuVar(idx, 2).setString(data[i]);
        idx++;
    }

#javaEnd
    
exitProc(output$);

 

Remove White Space

An utility to remove all white space from a given string

A procedure to use in Seeburger BIC Mapping Designer
It will extend your library for string handling

/* --------------------------------------------
    removeWhiteSpace

        Parameters
            input$
        returns
            string

   Removes all white space from the given string 
   -------------------------------------------- */

local output$;

#javaStart
    String output = _StrVar_INPUT.getString();
    output = output.replaceAll("\\s+", "");
    _StrVar_OUTPUT.setString(output);
#javaEnd

exitProc(output$);

 

Split string by right most space

 A utility to split note on the right most space before the set limit number of characters is reached

//    Peter Lykkegaard, 22 mar 2019
//    -----------------------------
//    Split long note on right most space before limit is reached
//    TODO! Check parameters if they are of valid type/content
//
//    Name: splitNoteBySpace
//    Description: Method to split a given string by latest space before length limit
//    Parameters
//        input$, alphanumerical / String which needs to be split
//        max$, alphanumerical / Max characters on each line
//    Output, alphanumeric / array / Array of strings to return

local output$[];

#importJavaStart
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
#importJavaEnd

#javastart

    final String string = _StrVar_INPUT.getString();
    final String max = _StrVar_MAX.getString();
    final String regex = "(.{1," + max + "})(?:\\s|$)";

    Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
    Matcher matcher = pattern.matcher(string);
    
    int idx = 0;     // Entries in output    
    while (matcher.find()) {
        for (int i = 1; i <= matcher.groupCount(); i++) {
            _StrVar_OUTPUT.getJuVar(idx, 2).setString(matcher.group(i).toString());
        }
        idx++;
    }
#javaEnd
    
exitProc(output$);