字符串数据中只保留字母数字字符



我正在流中获取字符串数据,我希望只保留字母数字字符。我注意到Siddhi提供了一个regexp函数,正如这里提到的。但问题是它返回一个布尔值,而不是修改后的字符串。是否可以直接获取修改后的字符串?这是我的密码。

@App:name("strtest")
@App:description("Description of the plan")
-- Please refer to https://docs.wso2.com/display/SP400/Quick+Start+Guide on getting started with SP editor. 
define stream InboundStream(ipstring string);
@sink(type='log', prefix='Modified string')
define stream Opstream(ropstring bool);
from InboundStream 
select str:regexp(ipstring, "^A-Za-z0-9") as ropstring insert into Opstream;

是否有返回修改后的正则表达式字符串的函数?

您不能使用str:regexp()函数来修改字符串,它只能用于检查字符串是否与给定字符串匹配,相反,您可以使用str:replaceAll()函数来删除不需要的字符,如下所示

@App:name("strtest")
@App:description("Description of the plan")
define stream InboundStream(ipstring string);
@sink(type='log', prefix='Modified string')
define stream Opstream(ropstring string);
from InboundStream
select str:replaceAll(ipstring,  '[^a-zA-Z0-9]', '') as ropstring
insert into Opstream;

你可以在这里找到更多关于字符串的函数

相关内容

  • 没有找到相关文章

最新更新