當前位置: 首頁>>代碼示例>>Java>>正文


Java StringTools.isMixedCase方法代碼示例

如果您正苦於以下問題:Java StringTools.isMixedCase方法的具體用法?Java StringTools.isMixedCase怎麽用?Java StringTools.isMixedCase使用的例子?那麽, 這裏精選的代碼示例或許可以為您提供幫助。也可以進一步了解該方法所在org.languagetool.tools.StringTools的示例。

以下是StringTools.isMixedCase方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為感覺有用的代碼點讚,您的評價將有助於係統推薦出更好的Java代碼示例。


示例1: getAnalyzedTokens

import org.languagetool.tools.StringTools; //導入方法依賴的package包/類
protected List<AnalyzedToken> getAnalyzedTokens(String word) {
  List<AnalyzedToken> result = new ArrayList<>();
  String lowerWord = word.toLowerCase(conversionLocale);
  boolean isLowercase = word.equals(lowerWord);
  boolean isMixedCase = StringTools.isMixedCase(word);
  List<AnalyzedToken> taggerTokens = asAnalyzedTokenListForTaggedWords(word, getWordTagger().tag(word));
  List<AnalyzedToken> lowerTaggerTokens = asAnalyzedTokenListForTaggedWords(word, getWordTagger().tag(lowerWord));
  //normal case:
  addTokens(taggerTokens, result);
  //tag non-lowercase (alluppercase or startuppercase), but not mixedcase word with lowercase word tags:
  if (!isLowercase && !isMixedCase) {
    addTokens(lowerTaggerTokens, result);
  }
  //tag lowercase word with startuppercase word tags:
  if (tagLowercaseWithUppercase) {
    if (lowerTaggerTokens.isEmpty() && taggerTokens.isEmpty()) {
      if (isLowercase) {
        List<AnalyzedToken> upperTaggerTokens = asAnalyzedTokenListForTaggedWords(word,
            getWordTagger().tag(StringTools.uppercaseFirstChar(word)));
        if (!upperTaggerTokens.isEmpty()) {
          addTokens(upperTaggerTokens, result);
        }
      }
    }
  }
  // Additional language-dependent-tagging:
  if (result.isEmpty()) {
    List<AnalyzedToken> additionalTaggedTokens = additionalTags(word, getWordTagger());
    addTokens(additionalTaggedTokens, result);
  }
  if (result.isEmpty()) {
    result.add(new AnalyzedToken(word, null, null));
  }
  return result;
}
 
開發者ID:languagetool-org,項目名稱:languagetool,代碼行數:36,代碼來源:BaseTagger.java

示例2: getSuggestions

import org.languagetool.tools.StringTools; //導入方法依賴的package包/類
public List<String> getSuggestions(String word) {
  List<String> suggestions = new ArrayList<>();
  suggestions.addAll(speller.findReplacements(word));
  suggestions.addAll(speller.replaceRunOnWords(word));
  // capitalize suggestions if necessary
  if (dictionary.metadata.isConvertingCase() && StringTools.startsWithUppercase(word)) {
    for (int i = 0; i < suggestions.size(); i++) {
      String uppercaseFirst = StringTools.uppercaseFirstChar(suggestions.get(i));
      // do not use capitalized word if it matches the original word or it's mixed case
      if (uppercaseFirst.equals(word) || StringTools.isMixedCase(suggestions.get(i))) {
        uppercaseFirst = suggestions.get(i);
      }
      // remove capitalized duplicates
      int auxIndex = suggestions.indexOf(uppercaseFirst);
      if (auxIndex > i) {
        suggestions.remove(auxIndex);
      }
      if (auxIndex > -1 && auxIndex < i) {
        suggestions.remove(i);
        i--;
      } else {
        suggestions.set(i, uppercaseFirst);
      }
    }
  }
  return suggestions;
}
 
開發者ID:languagetool-org,項目名稱:languagetool,代碼行數:28,代碼來源:MorfologikSpeller.java

示例3: getCorrectDeterminerFor

import org.languagetool.tools.StringTools; //導入方法依賴的package包/類
Determiner getCorrectDeterminerFor(AnalyzedTokenReadings token) {
  String word = token.getToken();
  Determiner determiner = Determiner.UNKNOWN;
  String[] parts = word.split("[-']");  // for example, in "one-way" only "one" is relevant
  if (parts.length >= 1 && !parts[0].equalsIgnoreCase("a")) {  // avoid false alarm on "A-levels are..."
    word = parts[0];
  }
  if (token.isWhitespaceBefore() || !"-".equals(word)) { // e.g., 'a- or anti- are prefixes'
    word = cleanupPattern.matcher(word).replaceAll("");         // e.g. >>an "industry party"<<
    if (StringTools.isEmpty(word)) {
      return Determiner.UNKNOWN;
    }
  }
  if (getWordsRequiringA().contains(word.toLowerCase()) || getWordsRequiringA().contains(word)) {
    determiner = Determiner.A;
  }
  if (getWordsRequiringAn().contains(word.toLowerCase()) || getWordsRequiringAn().contains(word)) {
    if (determiner == Determiner.A) {
      determiner = Determiner.A_OR_AN;   // e.g. for 'historical'
    } else {
      determiner = Determiner.AN;
    }
  }
  if (determiner == Determiner.UNKNOWN) {
    char tokenFirstChar = word.charAt(0);
    if (StringTools.isAllUppercase(word) || StringTools.isMixedCase(word)) {
      // we don't know how all-uppercase words (often abbreviations) are pronounced,
      // so never complain about these
      determiner = Determiner.UNKNOWN;
    } else if (isVowel(tokenFirstChar)) {
      determiner = Determiner.AN;
    } else {
      determiner = Determiner.A;
    }
  }
  return determiner;
}
 
開發者ID:languagetool-org,項目名稱:languagetool,代碼行數:38,代碼來源:AvsAnRule.java

示例4: tag

import org.languagetool.tools.StringTools; //導入方法依賴的package包/類
@Override
public List<AnalyzedTokenReadings> tag(final List<String> sentenceTokens)
    throws IOException {

  final List<AnalyzedTokenReadings> tokenReadings = new ArrayList<>();
  int pos = 0;
  final IStemmer dictLookup = new DictionaryLookup(getDictionary());

  for (String word : sentenceTokens) {
    // This hack allows all rules and dictionary entries to work with
    // typewriter apostrophe
    boolean containsTypewriterApostrophe = false;
    if (word.length() > 1) {
      if (word.contains("'")) {
        containsTypewriterApostrophe = true;
      }
      word = word.replace("’", "'");
    }
    final List<AnalyzedToken> l = new ArrayList<>();
    final String lowerWord = word.toLowerCase(conversionLocale);
    final boolean isLowercase = word.equals(lowerWord);
    final boolean isMixedCase = StringTools.isMixedCase(word);
    List<AnalyzedToken> taggerTokens = asAnalyzedTokenListForTaggedWords(word, getWordTagger().tag(word));
    
    // normal case:
    addTokens(taggerTokens, l);
    // tag non-lowercase (alluppercase or startuppercase), but not mixedcase
    // word with lowercase word tags:
    if (!isLowercase && !isMixedCase) {
      List<AnalyzedToken> lowerTaggerTokens = asAnalyzedTokenListForTaggedWords(word, getWordTagger().tag(lowerWord));
      addTokens(lowerTaggerTokens, l);
    }

    // additional tagging with prefixes
    if (l.isEmpty() && !isMixedCase) {
      addTokens(additionalTags(word, dictLookup), l);
    }

    if (l.isEmpty()) {
      l.add(new AnalyzedToken(word, null, null));
    }

    AnalyzedTokenReadings atr = new AnalyzedTokenReadings(l, pos);
    if (containsTypewriterApostrophe) {
      List<ChunkTag> listChunkTags = new ArrayList<>();
      listChunkTags.add(new ChunkTag("containsTypewriterApostrophe"));
      atr.setChunkTags(listChunkTags);
    }

    tokenReadings.add(atr);
    pos += word.length();
  }

  return tokenReadings;
}
 
開發者ID:languagetool-org,項目名稱:languagetool,代碼行數:56,代碼來源:GalicianTagger.java


注:本文中的org.languagetool.tools.StringTools.isMixedCase方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。