我正在尝试删除重音符号和除破折号(-)、下划线(_)之外的特殊字符并保留扩展名。
例如:
\n\xc3\x81\xc3\x89\xc3\x8d\xc3\x93\xc3\x9a\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xa2\xc3\xaa\xc3\xae\xc3\xb4\xc3\xbb\xc3\xa0\xc3\xa8\xc3\xac\xc3\xb2\xc3\xb9\xc3\x87\xc3\xa3\xc3\xa7.,~!@#$%&_-12345.png
到:
\nAEIOUaeiouaeiouaeiouCac_-12345.png
我得出了这个结果,但问题是它忽略了所有点。我只需要忽略最后一个出现的地方以保留文件名的扩展名。
\n"\xc3\x81\xc3\x89\xc3\x8d\xc3\x93\xc3\x9a\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xa2\xc3\xaa\xc3\xae\xc3\xb4\xc3\xbb\xc3\xa0\xc3\xa8\xc3\xac\xc3\xb2\xc3\xb9\xc3\x87\xc3\xa3\xc3\xa7.,\\~!@#$%&_-12345.png".normalize(\'NFD\').replace(/\\[^a-zA-Z0-9-_\\]/g, "")\nRun Code Online (Sandbox Code Playgroud)\n我已经尝试过像这样的负面观察:
\n/[^a-zA-Z0-9-]+(?<!\\.)/g\nRun Code Online (Sandbox Code Playgroud)\n使用这个参考,但我没有成功。
\n"\xc3\x81\xc3\x89\xc3\x8d\xc3\x93\xc3\x9a\xc3\xa1\xc3\xa9\xc3\xad\xc3\xb3\xc3\xba\xc3\xa2\xc3\xaa\xc3\xae\xc3\xb4\xc3\xbb\xc3\xa0\xc3\xa8\xc3\xac\xc3\xb2\xc3\xb9\xc3\x87\xc3\xa3\xc3\xa7.,~!@#$%&-12.34.5.png".normalize(\'NFD\').replace(/[^a-zA-Z0-9-]+(?<!\\.)/g, \'\')\nRun Code Online (Sandbox Code Playgroud)\n如果在这种情况下我有多个点,它只会删除第一个..