2015-10-13 3 views
0

Мне нужно загрузить файлы и файлы, которые были написаны именно так. Как заменить строку?Как удалить недопустимые символы в пути к файлу Использование java?

Имя файла "Langelinie_All_by_SirPecanGum.jpg"

Я бы только буквы и цифры подчеркивают имена файлов, как это делают с помощью Regex

Стараюсь

String foo = "this is a thing with & in it"; 
foo = foo.replaceAll("[^A-Za-z0-9()\\[\\]]", ""); 

dones't работы

+0

вы можете по крайней мере перечислить ваши недопустимые символы? –

+0

Каковы допустимые и запрещенные символы в этом случае? –

+2

Определите «dones't work». 'foo = foo.replaceAll (" [^ A-Za-z0-9() \\ [\\]] "," ");' возвращает 'thisisathingwithinit', что кажется правильным результатом. Какой результат вы ожидаете? – Pshemo

ответ

1

Я бы просто буквы и цифры подчеркнуть как имена файлов

String foo = "Langelinie_All�_by_SirPecanGum.jpg"; 
foo = foo.replaceAll("[^\\w\\.]", ""); 
//Langelinie_All_by_SirPecanGum.jpg 

Я думаю, вы также должны точка (.), в противном случае он будет сократить расширение.


DEMO

http://ideone.com/zTFJF6

+0

Если OP использует 'Langelinie_All _by_SirPecanGum.jpg', он удалит' .' расширения, soo close: P – MadProgrammer

+0

Спасибо Pedro Lobo –

+0

Добро пожаловать, рад, что это сработало. –

Смежные вопросы