去掉字符串最右边的数字或字母
本文关键字:数字 右边 字符串 | 更新日期: 2023-09-27 18:18:29
我有一个文件名:kjrjh20111103-BATCH2242_20111113-091337.txt
我只需要091337
,而不是txt或-我怎么能做到这一点。它不一定是6个数字——可以是多或少,但总是在"-"之后,最后一个在"doc"或"txt"之前
您可以使用正则表达式或简单的字符串操作来完成此操作。对于后者:
int lastDash = text.LastIndexOf('-');
string afterDash = text.Substring(lastDash + 1);
int dot = afterDash.IndexOf('.');
string data = dot == -1 ? afterDash : afterDash.Substring(0, dot);
我个人认为这比正则表达式更容易理解和验证,但您的经验可能会有所不同。
String fileName = kjrjh20111103-BATCH2242_20111113-091337.txt;
String[] splitString = fileName.Split ( new char[] { '-', '.' } );
String Number = splitString[2];
Regex: .*-(?<num>[0-9]*).
应该完成这项工作。
正则表达式为:
string fileName = "kjrjh20111103-BATCH2242_20111113-091337.txt";
string fileMatch = Regex.Match(fileName, "(?<=-)'d+", RegexOptions.IgnoreCase).Value;
String fileName = "kjrjh20111103-BATCH2242_20111113-091337.txt";
var startIndex = fileName.LastIndexOf('-') + 1;
var length = fileName.LastIndexOf('.') - startIndex;
var output = fileName.Substring(startIndex, length);