//package org.ansj.demo; // //import java.io.IOException; //import java.util.ArrayList; //import java.util.List; // //import org.ansj.domain.Nature; //import org.ansj.domain.Result; //import org.ansj.domain.Term; //import org.ansj.domain.TermNatures; //import org.ansj.recognition.impl.NatureRecognition; //import org.ansj.splitWord.analysis.BaseAnalysis; // ///** // * @author ansj // * // */ //public class DefineDemo { // /** // * FIXME // * @param args // * @throws IOException // */ // public static void main(String[] args) throws IOException { // String str = "java@ID:6321-000301@你好"; // // 普通分词 // Result parse = BaseAnalysis.parse(str); // // 词性标注 // new NatureRecognition(parse).recognition(); // // // 合并用户id // parse = mergerId(parse); // System.out.println(parse); // } // // private static final Nature userIdNature = new Nature("userId"); // // public static List<Term> mergerId(List<Term> parse) { // List<Term> result = new ArrayList<Term>(); // Term term = null; // Term newTerm = null; // for (int i = 0; i < parse.size(); i++) { // term = parse.get(i); // if ("@".equals(term.getName())) { // StringBuilder sb = new StringBuilder(term.getName()); // int end = mergerId(parse, sb, i); // System.out.println(end); // if (end > 0) { // newTerm = new Term(sb.toString(), term.getOffe(), TermNatures.NULL); // newTerm.setNature(userIdNature); // result.add(newTerm); // i = end; // } else { // result.add(term); // } // } else { // result.add(parse.get(i)); // } // } // return result; // } // // private static int mergerId(List<Term> parse, StringBuilder sb, int i) { // // Term term = null; // String natureStr = null; // int j = i + 1; // for (; j < parse.size(); j++) { // term = parse.get(j); // natureStr = term.natrue().natureStr; // if ("en".equals(natureStr) || "m".equals(natureStr) || "-".equals(term.getName()) || ":".equals(term.getName())) { // sb.append(term.getName()); // } else if ("@".equals(term.getName())) { // sb.append(term.getName()); // break; // } else { // return -1; // } // } // // if (sb.length() > 2) { // return j; // } else { // return -1; // } // } //}