Я пытаюсь превратить a/b/c.x.y
в abc
. Однако, похоже, проблема с моим регулярным выражением, особенно с '\\.*'
.
"a/b/c.x".replaceAll( "/|\\.*", "" );
дает:
"abcx"
Любое понимание было бы здорово, спасибо!
Я пытаюсь превратить a/b/c.x.y
в abc
. Однако, похоже, проблема с моим регулярным выражением, особенно с '\\.*'
.
"a/b/c.x".replaceAll( "/|\\.*", "" );
дает:
"abcx"
Любое понимание было бы здорово, спасибо!
Вы заменяете любую косую черту или «любое количество точек» пустой строкой.
Я подозреваю, что вы имеете в виду любую косую черту или «точку, за которой следует любое количество любых символов», что будет:
replaceAll("/|\\..*", "");
Это, безусловно, работает для меня с образцом значения.
*
подразумевает, что это то, к чему стремился ОП.
- person David M; 24.08.2012
Текущее регулярное выражение соответствует косой черте ИЛИ нулю или более точкам. Я предполагаю, что вы хотите сопоставить косую черту ИЛИ точку плюс что-либо после нее. Для этого вы хотите
"/|\\..*"