入力文字列を次のように指定できるとします。
- read(xpath('...'))または
- xpath('...')または
- ..。
ここで...は、たとえば、xpath式を保持するだけです。/comment/text
私が本当に欲しいのはxpath式だけです。指定できる3つの有効なパターンを考えると、一般にこの値を抽出するための効率的な方法は何でしょうか。
また、これをJavaで実装しています。
それはあなたがいくつかのコードを投稿するのを助けたでしょうが、あなたは文字列分割を使うことができます。http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html#split%28java.lang.String%29を参照してください
xpath('')があることが確実な場合は、正規表現としてxpath('を使用し、文字列を削除して、別の'(アポストロフィ)に到達するまでその中のデータを収集できます。
これがあなたにアイデアを与えることを願っています。
これが基本的な例です。両方の文字列の例のxpath部分と一致します。
import java.util.regex.*;
class Untitled {
public static void main(String[] args) {
String input = "read(xpath('...'))";
String result = null;
Pattern regex = Pattern.compile("xpath\\(\'(.*?)\'\\)");
Matcher matcher = regex.matcher(input);
if (matcher.find()) {
result = matcher.group(1);
}
System.out.println(result);
}
}