我有一个问题,只能从字符串中提取'a-zA-Z0-9-'。如何仅使用JavaScript或PHP从字符串中获取?
示例;
如果我输入 “猫นกห004-1กกกกก” 它告诉我只有 'A-CAT-004-1'
或
,如果我输入“AAمقتطف4- 5 aaa“ - >'aa-5-4-aaa'
有什么想法吗?
我有一个问题,只能从字符串中提取'a-zA-Z0-9-'。如何仅使用JavaScript或PHP从字符串中获取?
示例;
如果我输入 “猫นกห004-1กกกกก” 它告诉我只有 'A-CAT-004-1'
或
,如果我输入“AAمقتطف4- 5 aaa“ - >'aa-5-4-aaa'
有什么想法吗?
执行以下操作:
[^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-12 16:47:54