我有String s = http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/
(使用Java android)如何将日期字符串23-4-2015从它变成两个子字符串:
- http://kqxs.net.vn/xo-so-ngay/an-giang-xsag
- 23-4-2015
使用substring
方法
String str = "http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/";
url = str.substring(0, 43);
date = str.substring(44, 53);
我希望约会总是在最后一天。你可以用Java substring取最后11个字符。因为有"/"
很难,你实际上可以做一个RegEx只得到一个数字。但如果URL中也有数字,则不可能
尝试使用正则表达式,
String str = "http://kqxs.net.vn/xo-so-ngay/an-giang-xsag-23-4-2015/";
String regexStr = "\d{2}-\d{1,2}-\d{4}";
Pattern pattern = Pattern.compile(regexStr);
Matcher matcher = pattern.matcher(str);
int startIndex=-1;
// Check all occurrences
while (matcher.find()) {
startIndex = matcher.start();
}
if(startIndex>0){
String firstPart = str.substring(0,startIndex-1);
String secondPart = str.substring(startIndex);
System.out.println("First Part "+firstPart);
System.out.println("Second Part "+secondPart);
}else{
System.out.println("Match Not Found!");
}
输出:-第一部分http://kqxs.net.vn/xo-so-ngay/an-giang-xsag第二部分23-4-2015/
尝试以下代码:从字符串中获取日期。
String str="fgdfg12°59'50" Nfr | gdfg: 80°15'25" Efgd";
String[] spitStr= str.split("\|");
String numberOne= spitStr[0].replaceAll("[^0-9]", "");
String numberSecond= spitStr[1].replaceAll("[^0-9]", "");
试试另一个代码
String str=" abc d 1234567890pqr 54897";
Pattern pattern = Pattern.compile("\w+([0-9]+)\w+([0-9]+)");
Matcher matcher = pattern.matcher(str);
for(int i = 0 ; i < matcher.groupCount(); i++) {
matcher.find();
System.out.println(matcher.group());
}