String Extraction using regexp

Kishorekumar Yakkala :

how to convert the string to List[String] where it can have special characters in scala/java
Input =>[ "Stack", "Overflow", "flow"]
output => List("Stack","Overflow","flow")

Scalway :

Use one of existing Json parsing libraries.

Here is example with upickle:

import upickle.default._

val res = read[List[String]](""" [ "Stack", "Overflow", "flow"] """)
println(res) //List(Stack, Overflow, flow)

Each of Regexp/split sollutions has it's own problems (see in fiddle below).

fiddle: https://scalafiddle.io/sf/sH8KPLG/4

----------------------------------------
FOR INPUT:  [ "Stack", "Overflow", "flow"] 
----------------------------------------
scalway : (ok) List(Stack, Overflow, flow)
Tim     : (ok) List(Stack, Overflow, flow)
jwvh_2  : (ok) List(Stack, Overflow, flow)
jwvh_1  : (!!) List("Stack", "Overflow", "flow")

----------------------------------------
FOR INPUT:  [ "Sta ck", "Overflow+", " flow"] 
----------------------------------------
scalway : (ok) List(Sta ck, Overflow+,  flow)
Tim     : (!!) List(Sta, ck, Overflow, flow)
jwvh_2  : (ok) List(Sta ck, Overflow+,  flow)
jwvh_1  : (!!) List("Sta ck", "Overflow+", " flow")

----------------------------------------
FOR INPUT:  [ "Stack", "Overf\"low", "flow"] 
----------------------------------------
scalway : (ok) List(Stack, Overf"low, flow)
Tim     : (!!) List(Stack, Overf, low, flow)
jwvh_2  : (!!) List(Stack, Overf\, , )
jwvh_1  : (!!) List("Stack", "Overf\", ", ")

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=12102&siteId=1