我有一个问题,只能从字符串中提取'a-zA-Z0-9- _‘。
示例;
如果我输入"A catนกห004-1กกกกก“,它只会显示'a-cat-004-1‘
或
如果我输入"aaمقتطف4-5 aaa“--> 'aa-5-4-aaa‘
有什么想法吗?
发布于 2010-08-13 00:48:43
执行以下操作:
[^a-zA-Z0-9_ -]。这将消除您不需要的任何字符。通过将字符串-' +'的开头和结尾修剪空格(一个或多个空格)。至少我能猜到你想要什么。你的例子与你的问题描述不符。关于空格和小写的部分是从你的例子中推断出来的,因为你没有提到它。
在PowerShell中,这可能如下所示:
PS> (('A cat นกห 004-1 กกกกก' -replace '[^a-zA-Z0-9_ -]').Trim() -replace ' +','-').ToLower()
a-cat-004-1
PS> (('aa مقتطف 4-5 aaa' -replace '[^a-zA-Z0-9_ -]').Trim() -replace ' +','-').ToLower()
aa-4-5-aaa根据PHP或Javascript进行相应的调整。两者都支持正则表达式和字符串函数。
发布于 2010-08-13 01:00:15
preg_replace('/[^a-zA-Z0-9- _]/u', "", $original);https://stackoverflow.com/questions/3470010
复制相似问题