有没有一种简单的方法可以在"_"之前删除所有字符?例如,更改3.04_somename.jpg
为somename.jpg
.
任何关于在哪里学习写正则表达式的建议都会很棒.我检查的大多数地方都很难学习.
Tim*_*ker 61
^[^_]*_
Run Code Online (Sandbox Code Playgroud)
将匹配所有文本到第一个下划线.用空字符串替换它.
例如,在C#中:
resultString = Regex.Replace(subjectString,
@"^ # Match start of string
[^_]* # Match 0 or more characters except underscore
_ # Match the underscore", "", RegexOptions.IgnorePatternWhitespace);
Run Code Online (Sandbox Code Playgroud)
要学习正则表达式,请查看http://www.regular-expressions.info
正则表达式:
^[^_]*_(.*)$
Run Code Online (Sandbox Code Playgroud)
然后得到括号之间的部分.在perl中:
my var = "3.04_somename.jpg";
$var =~ m/^[^_]*_(.*)$/;
my fileName = $1;
Run Code Online (Sandbox Code Playgroud)
在Java中:
String var = "3.04_somename.jpg";
String fileName = "";
Pattern pattern = Pattern.compile("^[^_]*_(.*)$");
Matcher matcher = pattern.matcher(var);
if (matcher.matches()) {
fileName = matcher.group(1);
}
Run Code Online (Sandbox Code Playgroud)
...