首页 > 解决方案 > 使用 U-SQL 删除字符串中的空行

问题描述

我从客户那里获得对 azure 数据湖的评论,这些评论在 U-SQL 中组合/格式化。一些客户在他们的评论行之间留了一个空格。知道如何使用 U-Sql 删除这些空行吗?

例如单个评论

My name is abc
<blank line>
I love playing football. 

需要去掉中间的空行。Trim() 仅删除开始和结束空格。谢谢。

标签: azureazure-data-lakeu-sql

解决方案


你可以使用RegExU-SQL 来清理你的文本,例如,这个简单的脚本用一个回车替换两个回车,删除空行:

@input = 
    SELECT * FROM
        ( VALUES
            ( 1, @"My name is abc

I love playing football." ),
            ( 2, @"I love U-SQL

I'm indifferent to Hadoop." )
        ) AS x( id, review );



// Strip out repeated carriage returns
@output =
    SELECT id, 
            Regex.Replace(review, "(\r\n){2}", "\r\n", RegexOptions.Multiline) AS cleanedReview
    FROM @input;


OUTPUT @output
TO "/output/output.csv"
USING Outputters.Csv();

您可能必须尝试使用​​ RegEx 表达式来清理您的特定数据。


推荐阅读