java - split string using regular expression

后端 未结 3 1900
一生所求
一生所求 2020-12-31 23:58

I need to split a string where there\'s a comma, but it depends where the comma is placed.

As an example

consider the following:

C=75,user_is         


        
3条回答
  •  无人及你
    2021-01-01 00:34

    If you don't have more than one level of parentheses, you could do a split on a comma that isn't followed by a closing ) before an opening (:

    String[] splitArray = subjectString.split(
        "(?x),   # Verbose regex: Match a comma\n" +
        "(?!     # unless it's followed by...\n" +
        " [^(]*  # any number of characters except (\n" +
        " \\)    # and a )\n" +
        ")       # end of lookahead assertion");
    

    Your proposed rule would translate as

    String[] splitArray = subjectString.split(
        "(?x),        # Verbose regex: Match a comma\n" +
        "(?

    but then you would miss a split in a text like

    Org=NASA,Craft=Shuttle
    

提交回复
热议问题