package me.invkrh.spark;

import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.types.DataTypes;
import static org.apache.spark.sql.functions.*;

public class StringTest {

  public static void main(String[] args) {

    DataFrame df = Context.df();
    df.withColumn("rep", regexp_replace(df.col("a"), "\\\\n", "\n")).show();

    Context.sqlc().udf().register("replaceWithLineFeed", (String text, String regexp, String replacement) -> {
      if (text == null) { return 0; }
      return text.replaceAll(regexp, replacement);
    }, DataTypes.StringType);
    Context.df().withColumn("rep", expr("replaceWithLineFeed(a,'\\\\n', '\n')")).show();

    System.out.println("hello\\nworld".replaceAll("\\\\n", "\n"));
  }
}