草庐IT

REGEXP_REPLACE

全部标签

hadoop - Pig Latin 中的 STRSPLIT 和 REGEXP_EXTRACT_ALL

我有以下文件:File----12-3John1215-1Sam122该文件是制表符(\t)分隔的。我将行加载为line:chararray,因为我希望数据不会在各个字段中拆分。现在,我想提取详细信息(12-3和5-1)并将其存储为单独的数据。我正在尝试使用STRSPLIT和REGEX_EXTRACT_ALL,但数据似乎不匹配。splitdata=FOREACHfiledata{regex=REGEX_EXTRACT_ALL(line,'^([0-9]*)\\-([0-9]*)');split=STRSPLIT(line,'\\t',1);GENERATEregex,split;};这

regex - Hive - 多个字符串的 regexp_replace 函数

我正在使用配置单元0.13!我想在我的数据中找到多个标记,如“hiphop”和“rockmusic”,并将它们替换为“hiphop”和“rockmusic”——基本上替换它们时没有空格。我在配置单元中使用了regexp_replace函数。下面是我的查询,它适用于上述2个示例。droptablevp_hiphop;createtablevp_hiphopasselectuserid,ntext,regexp_replace(regexp_replace(ntext,'hiphop','hiphop'),'rockmusic','rockmusic')asntext1fromvp_nlp

hadoop - Apache Hive regexp_extract UDF

我在ApacheHive中遇到一段代码,如regexp_extract(input,'[0-9]*',0),有人可以向我解释这段代码的作用吗?谢谢 最佳答案 来自theHivemanualDDL,它返回使用模式提取的字符串。例如regexp_extract('foothebar','foo(.*?)(bar)',2)返回bar。index参数是捕获组,它是一个整数,可以取以下值:0:整个比赛,在我的例子中是foothebar1:第一组,在我的例子中是the2:第二组,在我的例子中是barn:第n组。如果n大于正则表达式中定义的实际组

REGEXP_REPLACE 捕获组

我想知道是否有人可以帮助我了解如何使用Hive的regexp_replace函数来捕获正则表达式中的组并在替换字符串中使用这些组。我有一个我正在解决的示例问题,涉及日期修改。在此示例中,我的目标是采用与SimpleDateFormat解析不兼容的字符串日期并进行小幅调整以使其兼容。日期字符串(如下所示)需要在字符串中的偏移符号(+/-)前加上“GMT”。因此,给定输入:'2015-01-0102:03:04+0:00'-or-'2015-01-0102:03:04-1:00'我想要输出:'2015-01-0102:03:04GMT+0:00'-or-'2015-01-0102:03:0

regex - 如何使用 Hive REGEXP_EXTRACT() 函数删除非字母数字或非数字字符

我一直在尝试弄清楚如何删除多个非字母数字或非数字字符,或者仅返回字符串中的数字字符。我试过:SELECTregexp_extract('X789','[0-9]',0)FROMtable_name但它返回“7”,而不是“789”。我还尝试使用NOTMATCH语法删除非数字字符^((?!regexp).)*$:SELECTREGEXP_REPLACE('X789','^((?![0-9]).)*$','')FROMjav_test_iiregexp_extract能否返回多个匹配项?我真正想做的是清理我的数据,使其只包含数字或字母数字字符。这似乎有助于删除坏字符,但它不是像[0-9]这样

java - 替换字符串中的多个单词 ln java like php str_replace

我需要在java中找到一种类似的巧妙方法来执行多字符串替换,就像您在php中使用str_replace执行此操作一样。我想获取一个字符串,然后返回一个字符串,其中数字1到10替换为这些数字的单词。“我赢了10场比赛中的7场,获得了30美元。”=>“我赢了十场比赛中的七场比赛并获得了30美元。”在php中,你可以这样做:functionreplaceNumbersWithWords($phrase){$numbers=array("1","2","3","4","5","6","7","8","9","10");$words=array("one","two","three","four

反斜杠的 PHP str_replace

我需要在后面的字符串中用''替换\。$x="FBU4061\0258";当我执行$x=str_replace('\\','',$x);它返回FBU40618,是否有任何解决方法来获取FBU40610258。注意:我需要在双引号内执行此操作。在单引号内,它会毫无问题地返回所需的值。 最佳答案 这里可能让您感到困惑的是,双引号字符串对这个字符串的解释与单引号字符串截然不同。PHP中的字符串"FBU4061\0258"会将字符串的\02部分解释为STX(或文本开头)字符(即ASCII字符02)。只需尝试在PHP中运行代码var_dump(

PHP函数array_replace(),为什么参数是按引用传递的?

PHP.net上array_replace()的函数签名表明数组将通过引用传递。以这种方式而不是按值进行操作的原因/好处是什么,因为要获得预期的结果,您必须将完成的数组返回给变量。需要说明的是,我能够在手册中重现结果,所以这不是关于如何使用此功能的问题。这是来自php.net的函数签名和示例。来源:http://ca3.php.net/manual/en/function.array-replace.php函数签名:arrayarray_replace(array&$array,array&$array1[,array&$...])示例代码:$base=array("orange","

php - 哪个功能更快? substr() 或 str_replace()?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭11年前。我有一个脚本,我可以在其中使用substr()或str_replace()。使用substr()我只需要切断最后一个字符,使用str_replace我需要用任何东西替换!。哪个会更快?我猜substr()?

php - 使用 preg_replace 替换空段落,无法识别空格

我需要改变这个:进入这个:在一个字符串上。看起来很简单,但以下内容不起作用:$filecontent=preg_replace('/ /','',$filecontent);$filecontent=preg_replace('/^ /','',$filecontent);$filecontent=preg_replace('/\s/','',$filecontent);$filecontent=preg_replace('/\s+/','',$filecontent);$filecontent=str_replace('','',$filecontent);为了确保我不会发疯,我对x