stringeditvector.java

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Java 代码 · 共 140 行

JAVA
140
字号
/* Copyright (C) 2002 Univ. of Massachusetts Amherst, Computer Science Dept.   This file is part of "MALLET" (MAchine Learning for LanguagE Toolkit).http://www.cs.umass.edu/~mccallum/malletThis software is provided under the terms of the Common Public License,version 1.0, as published by http://www.opensource.org.  For furtherinformation, see the file `LICENSE' included with this distribution. *//**  @author Andrew McCallum <a href="mailto:mccallum@cs.umass.edu">mccallum@cs.umass.edu</a>  */package edu.umass.cs.mallet.base.types;import edu.umass.cs.mallet.base.util.MalletLogger;import java.util.logging.*;import java.util.StringTokenizer;import java.util.Vector;import java.io.*;public class StringEditVector implements Serializable{  private static Logger logger = MalletLogger.getLogger(StringEditVector.class.getName());  String _delimiter;  String _string1 = null, _string2 = null;  int _match = -2;    public static final int MATCH = 1;  public static final int NONMATCH = 0;  public StringEditVector(String delimiter) {    if (delimiter == null || delimiter.equals(""))       _delimiter = " ";    else      _delimiter = delimiter;  }    public StringEditVector() {  	this (" ");  }  public String formatString() {    return "<String1>" + _delimiter + "<String2>" + _delimiter + "<BooleanMatch>";  }  public boolean parseString(String line) {    StringTokenizer stok = new StringTokenizer(line, _delimiter);    boolean success = true;    // First String    if (stok.hasMoreTokens()) _string1 = stok.nextToken();    else success = false;    // Second String    if (stok.hasMoreTokens()) _string2 = stok.nextToken();    else success = false;    // Match/non-Match    if (stok.hasMoreTokens())       try {        _match = Integer.parseInt(stok.nextToken());      }    catch (Exception e) {      logger.info ("Error while returning third integer - " + e.getMessage());      _match = -1;      success = false;    }    else success = false;    return success;  }  public void setFirstString(String s1) {  	_string1 = s1;  }    public String getFirstString() {    return _string1;  }  public char getFirstStringChar(int index) {    index = index - 1;    if (index < 0 || index >= _string1.length()) return (char) 0;    else return _string1.charAt(index);  }  public int getLengthFirstString() {    return _string1.length();  }  public void setSecondString(String s2) {  	_string2 = s2;  	  }    public String getSecondString() {    return _string2;  }  public char getSecondStringChar(int index) {    index = index - 1;    if (index < 0 || index >= _string2.length()) return (char) 0;    else return _string2.charAt(index);  }  public int getLengthSecondString() {    return _string2.length();  }  public void setMatch(int match) {  	_match = match;  }    public int getMatch() {    return _match;  }  //Serialization  private static final long serialVersionUID = 1;  private static final int CURRENT_SERIAL_VERSION = 0;  private void writeObject (ObjectOutputStream out) throws IOException {    out.writeInt (CURRENT_SERIAL_VERSION);    out.writeObject (_delimiter);    out.writeObject (_string1);    out.writeObject (_string2);    out.writeInt (_match);  }  private void readObject (ObjectInputStream in) throws IOException, ClassNotFoundException {    int version = in.readInt ();    _delimiter = (String) in.readObject();    _string1 = (String) in.readObject();    _string2 = (String) in.readObject();    _match = in.readInt();  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?