我有这种格式的字符串
FUTSTKACC28-APR-2016
ACC是一个符号,28-APR-2016是一个到期日FUTSTK是预定义的单词
在这种情况下如何检索值符号和日期
例如,如何获得ACC
和
28-APR-2016
一些样本数据
FUTSTKACC26-MAY-2016
FUTSTKACC28-APR-2016
FUTSTKACC30-JUN-2016
FUTSTKADANIENT26-MAY-2016
FUTSTKADANIENT28-APR-2016
FUTSTKADANIENT30-JUN-2016
Run Code Online (Sandbox Code Playgroud)
您有一个固定长度的前缀字和一个固定长度的日期.您可以删除前缀,然后使用日期中的11个字符从右侧获取子字符串.就像是,
String[] sample = { "FUTSTKACC26-MAY-2016", "FUTSTKACC28-APR-2016",
"FUTSTKACC30-JUN-2016", "FUTSTKADANIENT26-MAY-2016",
"FUTSTKADANIENT28-APR-2016", "FUTSTKADANIENT30-JUN-2016" };
String predefWord = "FUTSTK";
for (String input : sample) {
if (input.startsWith(predefWord)) {
input = input.substring(predefWord.length());
// There are 11 characters in the date format
String symbol = input.substring(0, input.length() - 11);
String dateStr = input.substring(input.length() - 11);
System.out.printf("symbol=%s, date=%s%n", symbol, dateStr);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是
symbol=ACC, date=26-MAY-2016
symbol=ACC, date=28-APR-2016
symbol=ACC, date=30-JUN-2016
symbol=ADANIENT, date=26-MAY-2016
symbol=ADANIENT, date=28-APR-2016
symbol=ADANIENT, date=30-JUN-2016
Run Code Online (Sandbox Code Playgroud)