Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Scala中用空格替换双引号_Scala_Apache Spark - Fatal编程技术网

如何在Scala中用空格替换双引号

如何在Scala中用空格替换双引号,scala,apache-spark,Scala,Apache Spark,我有一个数据文件,其中有些记录带有“”(双引号)。我需要使用regexp\u replace函数在scala中用空格替换这些引号 示例:regexp\u replace(列名称“\”,”)但是当我尝试这样做时,我得到了一些错误“unclosed”字符串文字。通过使用regexp\u replace和提及列,我认为您的意思是Spark(如果是这样,您应该在以后的任何问题中提及)。查看: “\”是一个字符,而不是字符串,因此您需要使用“\” 在没有Spark的Scala中,您可以使用类似于on中的r

我有一个数据文件,其中有些记录带有“”(双引号)。我需要使用regexp\u replace函数在scala中用空格替换这些引号


示例:
regexp\u replace(列名称“\”,”)
但是当我尝试这样做时,我得到了一些错误“unclosed”字符串文字。

通过使用
regexp\u replace
和提及列,我认为您的意思是Spark(如果是这样,您应该在以后的任何问题中提及)。查看:

“\”
是一个
字符,而不是
字符串,因此您需要使用
“\”

在没有Spark的Scala中,您可以使用类似于
on中的
replace{All,FirstSome}之类的方法(主要针对发现此问题的其他人)

更新:

此处,
+
后面的字符串仅为

s"${month},concat(year(from_unixtime(unix_timestamp((regexp replace(column_name,'\"',"
然后你有单独的字符串文本

")), 'yyyy-MM-dd-HH.mm.ss.SSSSSS'))),'-',lpad(month(from_unixtime(unix_timestamp((regexp_replace(column_name,'\"',"
等等


\“
s”…“
中,因此用
\”
转义引号将不起作用;您应该使用三重引号字符串。

从使用
regexp\u replace
和提及列中,我假定您指的是Spark(如果是这样,您应该在以后的任何问题中提及)。查看:

“\”
是一个
字符,而不是
字符串,因此您需要使用
“\”

在没有Spark的Scala中,您可以使用类似于
on中的
replace{All,FirstSome}之类的方法(主要针对发现此问题的其他人)

更新:

此处,
+
后面的字符串仅为

s"${month},concat(year(from_unixtime(unix_timestamp((regexp replace(column_name,'\"',"
然后你有单独的字符串文本

")), 'yyyy-MM-dd-HH.mm.ss.SSSSSS'))),'-',lpad(month(from_unixtime(unix_timestamp((regexp_replace(column_name,'\"',"
等等


\”
s“…”
中,因此用
\“
转义引号将不起作用;您应该使用三重引号字符串。

regexp\u replace(列名“\”,”)您也可以使用
translate
function@AlexOtt谢谢你的回复。Translate和regexp_替换函数返回单位类型,但我想在scala中返回字符串类型。它们返回
类型-这就是Spark SQL中的工作方式。如果您只需要替换
String
中的所有内容,那么您需要使用
.replaceAll
@AlexOtt,但我需要使用regexp\u replace将双引号(\)替换为空格(“”)。regexp\u replace(列名称,“\”,“”)您还可以使用
translate
function@AlexOtt谢谢你的回复。Translate和regexp_替换函数返回单位类型,但我想在scala中返回字符串类型。它们返回
类型-这就是Spark SQL中的工作方式。如果您只需要替换
字符串中的所有内容
,那么您需要使用
.replaceAll
@AlexOtt,但我需要使用regexp\u replace将双引号(\)替换为空格(“”)。@alexy谢谢您的回复。我有scala,我正在使用scala变量。我已经发布了完整的字符串。这是我试图做的,但出现了错误”未关闭字符串literal“.val colString=insertColumns.mkString(“,”+s“${month}),concat(年)(从unix时间(unix时间戳)((regexp-replace(列名,“\”,”),“yyyy-MM-dd HH.MM.ss.ssss')),“-”,lpad(月(从unix时间戳((regexp-replace(列名,“\”,“,”),“),“yyyyy-MM-dd HH.MM.ss.ssss')),从unix时间开始,”),“第二天(unix时间”)(unix\u timestamp((regexp\u replace(column\u name,“\”,”),'yyyy-MM-dd HH.MM.ss.SSSSSS')),2,'0'))作为column\u name“请参阅。感谢您的回复。我已经尝试了以下命令insertColumns.mkString(“,”+s”“)”${column},concat(年)(从unixtime(unix\u timestamp((regexp\u replace(column\u name,“,”,”),“),”),'yyyyyy-MM-dd-HH.MM.ss.ssss.)),-),,-“)(来自unix时间戳((regexp\u replace(column\u name,\“,”),@alexy,谢谢你的回复。我有scala,我正在使用scala变量。我发布了完整的字符串。这是我试图做的,但得到错误“unclosed string literal”。val colString=insertColumns.mkString(“,”+s“${month},concat(年)(来自unix时间戳((regexp-replace(列名称“\”,”),“yyyy-MM-dd HH.MM.ss.SSSSSS')),“-”,lpad(月)(从unix-xtime(unix-timestamp((regexp-replace(列名称“,”),“yyyyy-MM-dd HH.MM.ss.ssss')))),2,“-”,lpad(从unix-time(unix-timestamp(unix-timestamp)(列名称“,”开始,“),“yyyyyy-MM-dd-dd HH.MM.ssss')),作为第2列名称,“,”ssu-ssu-ssss“)”请参阅。感谢您的回复。我已经尝试了以下命令insertColumns.mkString(“,”+s”“”${column},concat(年)(从unix\u时间戳((regexp\u replace(column\u name,\”,“),'yyyyy-MM-dd-HH.MM.ss.ssss')),'-',lpad(月)(从unix\u时间戳((regexp replace(column\u name,\,),