我正在用Ruby和regex练习删除某些不需要的字符.例如:
input = input.gsub(/<\/?[^>]*>/, '')
and for special characters, example ☻ or :
input = input.gsub('&#', '')
这只留下数字,好吗.但这只有在用户输入特殊字符作为代码时才有效,如:
™
My question:
™ ☻
我正在用Ruby和regex练习删除某些不需要的字符.例如:
input = input.gsub(/<\/?[^>]*>/, '')
and for special characters, example ☻ or :
input = input.gsub('&#', '')
这只留下数字,好吗.但这只有在用户输入特殊字符作为代码时才有效,如:
™
My question:
™ ☻
首先,我认为定义什么是"正确的输入"并删除其他内容可能更容易.例如:
input = input.gsub(/[^0-9A-Za-z]/, '')
如果这不是你想要的(你想要支持非拉丁字母,等等),那么我认为你应该列出一个你想要删除的字形列表(比如™ 或☻), 然后一个接一个地删除它们,因为很难通过编程区分中文、阿拉伯语等字符和象形文字.
最后,您可能希望通过转换HTML转义序列或从中转换来规范输入.