如果您正苦於以下問題: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;
}
示例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;
}
示例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;
}
示例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;
}