标签: regexp-replace

从 postgres 表列中删除括号,但保留其中的单词

我有一个标题列,其中包含括号内的一些单词。我想删除括号,但使用 regexp_replace 保留当前在其中的单词。我尝试过这个,但似乎不起作用。该列中仍然有括号。

UPDATE test_table SET title = regexp_replace(title, '()', '', 'g');
Run Code Online (Sandbox Code Playgroud)

database postgresql regexp-replace

3
推荐指数
1
解决办法
9362
查看次数

替换同一行开头匹配的行上的所有斜杠

我正在尝试更改一行上的所有斜杠以替换每行的beginninig中的3个字符的块.(以下示例中的PMC,PAJ等)

.PMC .89569XX/90051XX/90204XX/89533XX/90554XX/90053XX/90215XX/89874XX/89974XX/90481XX/90221XX/90508XX/90183XX/88526XX/89843XX/88041XX/90446XX/88515XX/89574XX/89847XX/88616XX/90513XX/90015XX/90334XX/89649XX.T00
.PAJ .77998XX/77896XX.T00.PAG .78116XX/78104XX/77682XX/07616XX/77663XX/77863XX/07634XX/78088XX/77746XX/78148XX.T00.PKC .22762XX/22358XX/22055XX/22672XX/22684XX/22154XX/22608XX/22768XX/22632XX/22266XX/22714XX/22658XX/22631XX/22288XX/22020XX/22735XX/22269XX/22138XX/22331XX/22387XX/22070XX/22636XX/22629XX/22487XX/22725XX.T00

期望的结果应该是:

PMC.89569XXPMC90051XXPMC90204XXPMC89533XXPMC90554XXPMC90053XXPMC90215XXPMC89874XXPMC89974XXPMC90481XXPMC90221XXPMC90508XXPMC90183XXPMC88526XXPMC89843XXPMC88041XXPMC90446XXPMC88515XXPMC89574XXPMC89847XXPMC88616XXPMC90513XXPMC90015XXPMC90334XXPMC89649XX.T00

我不知道如何做到这一点.这是我到目前为止:

 (.)([A-Z]{3})(.)(\/)
Run Code Online (Sandbox Code Playgroud)

javascript regex regexp-substr regexp-replace

3
推荐指数
1
解决办法
65
查看次数

如何访问replaceAllIn()计数器?

我在用

val str2 = regex.replaceAllIn(str1, "other")
Run Code Online (Sandbox Code Playgroud)

并且需要计算替换次数...有一种方法可以检索内部replaceAllIn计数器的值?

PS:这在其他语言中很常见(例如),所以我假设Scala提供了类似的东西。

scala regexp-replace

3
推荐指数
1
解决办法
49
查看次数

Spark-SQL 中使用反斜杠 REGEXP REPLACE

我有一个包含 \s\ 关键字的字符串。现在,我想用 NULL 替换它。

select string,REGEXP_REPLACE(string,'\\\s\\','') from test
Run Code Online (Sandbox Code Playgroud)

但无法用spark sql中的上述语句替换

输入:\s\help
输出:帮助

想要使用 regexp_replace

sql apache-spark-sql regexp-replace

3
推荐指数
1
解决办法
6514
查看次数

删除 [] {} () 括号外的文本

我有一个字符串,我想将文本保留在一对括号内并删除括号外的所有内容:

你好 [123] {45} 世界 (67)
你好 (8) [9] {0}

所需输出:
[123] {45} (67) (8) [9] {0}

代码尝试但失败:

$re = '/[^()]*+(\((?:[^()]++|(?1))*\))[^()]*+/';
$text = preg_replace($re, '$1', $text);
Run Code Online (Sandbox Code Playgroud)

php regex regexp-replace

3
推荐指数
1
解决办法
513
查看次数

Teradata regexp_replace消除特定的特殊字符

我导入了一个包含电子邮件地址的文件(email_source).我需要使用此字段将此表连接到另一个表,但它在电子邮件地址之前和之后包含逗号(,)和双引号(")(例如"johnsmith@gmail.com",").我想用空格替换所有逗号和双引号.

teradata中的正确语法是什么?

regex teradata regexp-replace

2
推荐指数
2
解决办法
2万
查看次数

如何使用 REGEXP_REPLACE 从每一端删除重复的逗号和修剪?

我需要将几个字段连接在一起,这些字段可能是也可能不是 null。我可能最终会得到一个字符串,如:',,c,,e,,' 我实际上想将其显示为 'c,e'。

我可以通过组合得到这个regexp_replacetrim

with sd as (select 'a,b,c' str from dual union all
            select 'a' str from dual union all
            select null str from dual union all
            select 'a,,,d' from dual union all
            select 'a,,,,e,f,,'from dual union all
            select ',,,d,,f,g,,'from dual)
select str,
       regexp_replace(str, '(,)+', '\1') new_str,
       trim(both ',' from regexp_replace(str, '(,)+', '\1')) trimmed_new_str
from   sd;

STR         NEW_STR     TRIMMED_NEW_STR
----------- ----------- ---------------
a,b,c       a,b,c       a,b,c          
a           a           a              

a,,,d       a,d         a,d            
a,,,,e,f,,  a,e,f,      a,e,f …
Run Code Online (Sandbox Code Playgroud)

sql oracle regexp-replace

2
推荐指数
1
解决办法
2030
查看次数

Pyspark删除数据框列中的多个字符

看着pyspark,我看到translation和regexp_replace可以帮助我在dataframe列中存在一个字符。

我想知道是否有一种方法可以在regexp_replace中提供多个字符串或进行翻译,以便它可以解析它们并将它们替换为其他内容。

用例:删除列A中的所有$,#和逗号(,)

translate regexp-replace pyspark

2
推荐指数
1
解决办法
4935
查看次数

正则表达式:在数字后跟字母时添加空格

在一组数字之后,我想在字符串中添加一个空格。例如,以下字符串应在数字后添加一个空格:

Before                           After
"0ABCD TECHNOLOGIES SERVICES"    "0 ABCD TECHNOLOGIES SERVICES"
"ABCD0 TECHNOLOGIES SERVICES"    "ABCD 0 TECHNOLOGIES SERVICES"

"ABCD 0TECHNOLOGIES SERVICES"    "ABCD 0 TECHNOLOGIES SERVICES"
"ABCD TECHNOLOGIES0 SERVICES"    "ABCD TECHNOLOGIES 0 SERVICES"

"ABCD TECHNOLOGIES 0SERVICES"    "ABCD TECHNOLOGIES 0 SERVICES"
"ABCD TECHNOLOGIES SERVICES0"    "ABCD TECHNOLOGIES SERVICES 0"
Run Code Online (Sandbox Code Playgroud)

我一直在尝试按以下方式在 Python 中处理正则表达式:

text= re.sub(r'([0-9]+)?([A-Za-z]+)?([0-9]+)?',
             r'\1 \2 \3',
             text,
             0,
             re.IGNORECASE)
Run Code Online (Sandbox Code Playgroud)

使用前面的代码,我得到了影响其他正则表达式转换的不需要的空格:

"0 abcd     technologies     services   "
Run Code Online (Sandbox Code Playgroud)

如何在不添加不需要的空格的情况下在字符串中添加空格?

python regex regexp-replace

2
推荐指数
1
解决办法
1228
查看次数

如何使用 regexp_replace 只替换捕获组而不替换完整的匹配字符串

我们在数据库中有一列包含类似于“150 W 96 Th St”和“4514 282 Nd St”的值。您可能已经注意到,数字街道名称和后缀之间有一个空格,即“96 TH”。

我正在尝试编写一个将删除该空间的 postgresql 查询。使用以下内容:

SELECT regexp_matches('150 W 96 Th St', ' \d+( )(?:St|Nd|Rd|Th) ')
Run Code Online (Sandbox Code Playgroud)

我得到:

{" "}
Run Code Online (Sandbox Code Playgroud)

表示仅返回捕获组。

然而,当我跑

SELECT regexp_replace('150 W 96 Th St', ' \d+( )(?:St|Nd|Rd|Th) ', '')
Run Code Online (Sandbox Code Playgroud)

我得到

150 WSt
Run Code Online (Sandbox Code Playgroud)

整个匹配字符串被替换的地方。

我也试过

SELECT regexp_replace('150 W 96 Th St', ' \d+( )(?:St|Nd|Rd|Th) ', '\1')
Run Code Online (Sandbox Code Playgroud)

我认为这只会取代第一个捕获组。

我还应该尝试什么?

regex postgresql regexp-replace

1
推荐指数
1
解决办法
2632
查看次数