我有一个字符串:
hello example >> hai man
如何使用Java正则表达式或其他技术提取“海人”?
答案 0 :(得分:4)
您可以将正则表达式用作:
String str = "hello example >> hai man";
String result = str.replaceAll(".*>>\\s*(.*)", "$1");
答案 1 :(得分:2)
请参阅运行:http://www.ideone.com/cNMik
public class Test {
public static void main(String[] args) {
String test = "hello example >> hai man";
Pattern p = Pattern.compile(".*>>\\s*(.*)");
Matcher m = p.matcher(test);
if (m.matches())
System.out.println(m.group(1));
}
}
答案 2 :(得分:1)
最基本的方法是使用String及其索引中的字符。
hello example >> hai man
使用
String str ="hello example >> hai man";
int startIndex = str.indexOf(">>");
String result = str.subString(startIndex+2,str.length()); //2 because >> two character
我认为它清除了基本的想法。
您可以使用
解析许多技巧另一种更简单的方法是:
String str="hello example >> hai man";
System.out.println(str.split(">>")[1]);
答案 3 :(得分:1)
在Java 1.4中:
String s="hello example >> hai man";
String[] b=s.split(">>");
System.out.println(b[1].trim());
答案 4 :(得分:0)
请考虑以下事项:
public static void main(String[] args) {
//If I get a null value it means the stringToRetrieveFromParam does not contain stringToRetrieveParam.
String returnVal = getStringIfExist("hai man", "hello example >> hai man");
System.out.println(returnVal);
returnVal = getStringIfExist("hai man", "hello example >> hai man is now in the middle!!!");
System.out.println(returnVal);
}
/**Takes the example and make it more real-world like.
*
* @param stringToRetrieveParam
* @param stringToRetrieveFromParam
* @return
*/
public static String getStringIfExist(String stringToRetrieveParam,String stringToRetrieveFromParam){
if(stringToRetrieveFromParam == null || stringToRetrieveParam == null){
return null;
}
int index = stringToRetrieveFromParam.indexOf(stringToRetrieveParam);
if(index > -1){
return stringToRetrieveFromParam.substring(index,index + stringToRetrieveParam.length());
}
return null;
}
答案 5 :(得分:-2)
我明白你想要消除这个你可以做一些像
这样的事情string myString = "hello example >> hai man";
string mySecondString = mystring.Replace("hai man", "");
您只会获得hello example >>