使用T-SQL,我试图找到最简单的方法来反转字符串中的数字.所以对于像Test123Hello有的字符串Test321Hello.
[Before] [After]
Test123Hello Test321Hello
Tt143 Hello Tt341 Hello
12Hll 21Hll
Tt123H3451end Tt321H1543end
Run Code Online (Sandbox Code Playgroud) 我需要选择字符串中的前 X 个单词,其中 x 可以是 0-100 之间的任何数字。是否有捷径可寻?我找到了以下示例来从字符串中选择前 2 个单词:
select regexp_replace('Hello world this is a test', '(\w+ \w+).*$','\1') as first_two
from dual
Run Code Online (Sandbox Code Playgroud)
如何从字符串中选择前 X 个单词,其中 X 可以是 0-100 之间的数字?
正如标题所述,我不是最好的w/regex,所以任何人都可以提供适当的正则表达式:
UPDATE table SET column = REGEXP_REPLACE(column, {regex}, '''');
Run Code Online (Sandbox Code Playgroud)
基本上,我想用一个单引号替换反斜杠(\)的后跟一个或多个单引号的任何实例.
所以,字符串Hello World\'s或Hello World\'''''s应该成为Hello World's,但不是Hello World\s.
有谁知道为什么RegExp可以在模拟器上运行但在oracle中却没有?
应该用https://替换// with/except
SELECT regexp_replace (url_link,'(?<!https:)\/\/','\/'), url_link
FROM URL_TABLE;
Run Code Online (Sandbox Code Playgroud)
变化
https://pet/green//car/plane//garden
Run Code Online (Sandbox Code Playgroud)
至
https://pate/gren/car/plane/gardn
Run Code Online (Sandbox Code Playgroud)
谢谢
测试链接:regexr.com/42d9c
这让我发疯。
我想提取以下行中的条形码:
Ceres Juice Apricot 12 x 1lt unit: 6001240102022
Ceres Juice Cranberry& Kiwi Juice 12 x 1lt... unit:
Ceres Juice Guava 12 x 1lt.. unit:6001240222829
Ceres Juice Orange 12x1lt... unit:
Ceres Juice Medley of Fruits 1L x 12 unit: 6001240100660
Run Code Online (Sandbox Code Playgroud)
它应该返回:
6001240102022
6001240222829
6001240100660
Run Code Online (Sandbox Code Playgroud)
我正确使用.*(\d{13}).*
然后我用$1它返回第一个匹配项
但我的结果看起来像这样:
6001240102022
Ceres Juice Cranberry& Kiwi Juice 12 x 1lt... unit:
6001240222829
Ceres Juice Orange 12x1lt... unit:
6001240100660
Run Code Online (Sandbox Code Playgroud)
原因:
造成此问题的原因是,如果匹配组 ($1) 中没有任何内容,则“替换”将返回原始字符串。
解决方法:
确保每行都有一个“匹配”,并将其放入匹配组 1 ($1)。然后将您的实际比赛放入比赛组 2 ($2)。这个怎么做? …
我需要替换给定字符串中第一次出现的子字符串。
例如,如果字符串是"My name is Adam"并且我想将第一个替换"a"为"@".
所以我想要的输出是"My n@me is Adam".
在 MySQL 中,有一个函数regexp_replace有一个可选参数occurrence来指定要替换的出现次数。但不幸的是,该可选参数不存在于 hive 函数中。有什么建议么?
我花了大约 3 个小时来解决下面的挑战,但我的代码都不起作用。决定查看解决方案以了解我为什么不工作。当我查看解决方案时,我很困惑,因为我认为 \s 是用来识别空格而不是删除它们...有人可以帮我解释一下为什么使用 \s 而不是 \S 以及为什么使用空字符串( "") 去掉两端的空格。
挑战
编写正则表达式并使用适当的字符串方法来删除字符串开头和结尾的空格。
//SOLUTION
let hello = " Hello, World! ";
let wsRegex = /^\s+|\s+$/g;
let result = hello.replace(wsRegex, "");
Run Code Online (Sandbox Code Playgroud) 我想在雪花数据库中将逗号(,)后的第一个字母替换为大写字母。下面给出的是我尝试过的方法,但没有成功。
例如:
Apple,ball,cat --> Apple,Ball,Cat
Bulb,LED,tube --> Bulb,LED,Tube
Run Code Online (Sandbox Code Playgroud)
SELECT REGEXP_REPLACE('Apple,ball,cat',',(\\\w)',UPPER('\\\1'));
Run Code Online (Sandbox Code Playgroud)
,(\\\w)捕获逗号后的字母,但UPPER('\\\1')不将其转换为大写。
我需要清理一个字符列,为此我正在Teradata 14中使用REGEXP_REPLACE函数。
相同的代码可用于其他数据源(具有相同的LATIN编码)。
使用show table的数据定义给了我以下数据格式:
CREATE SET TABLE pp_oap_cj_t.dc_loss_fdr_kn ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
( PARENT_ID DECIMAL(38,0),
FS_MRCH_NM VARCHAR(25) CHARACTER SET LATIN NOT CASESPECIFIC
) PRIMARY INDEX ( PARENT_ID );
Run Code Online (Sandbox Code Playgroud)
我正在执行的查询如下:
CREATE TABLE pp_oap_pb_piyush_t.CHECKMERCHANT1 AS (
SELECT
FS_MRCH_NM,
REGEXP_REPLACE(trim(Upper(trim(REGEXP_REPLACE( (FS_MRCH_NM ) , '[^a-z]',' ',1,0,'i'))) ), '[[:space:]]+',' ',1,0,'i') as cleaned_merchant
FROM pp_oap_pb_piyush_t.CHECKMERCHANT)
WITH DATA PRIMARY INDEX (FS_MRCH_NM);
Run Code Online (Sandbox Code Playgroud)
错误
CREATE TABLE Failed. 6706: The string contains an untranslatable character.
Run Code Online (Sandbox Code Playgroud)
我需要快速解决这个瓶颈。
帮助真的很感激!谢谢 …
寻找 RegExp 来删除 dart/flutter 中括号之间的文本。例如
输入...
Test Message (To Be removed)
Run Code Online (Sandbox Code Playgroud)
输出
Test Message
Run Code Online (Sandbox Code Playgroud)
String str = "Test Message (To Be removed)";
str.replaceAll(RegExp(<regular-expression>), '');
Run Code Online (Sandbox Code Playgroud) regexp-replace ×10
regex ×4
sql ×3
oracle ×2
string ×2
dart ×1
flutter ×1
hive ×1
hiveql ×1
javascript ×1
postgresql ×1
regex-group ×1
snowflake-cloud-data-platform ×1
sql-server ×1
t-sql ×1
teradata ×1