当前位置: 首页>>代码示例>>Java>>正文


Java BasedSequence.charAt方法代码示例

本文整理汇总了Java中com.vladsch.flexmark.util.sequence.BasedSequence.charAt方法的典型用法代码示例。如果您正苦于以下问题:Java BasedSequence.charAt方法的具体用法?Java BasedSequence.charAt怎么用?Java BasedSequence.charAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.vladsch.flexmark.util.sequence.BasedSequence的用法示例。


在下文中一共展示了BasedSequence.charAt方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: InsertedRangeContext

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
public InsertedRangeContext(@NotNull BasedSequence charSequence, int beforeOffset, int afterOffset, int separators) {
    this.charSequence = charSequence;
    mySeparators = separators;
    this.textLength = charSequence.length();

    if (beforeOffset < 0) beforeOffset = 0;
    if (afterOffset > textLength) afterOffset = textLength;
    if (beforeOffset > afterOffset) beforeOffset = afterOffset;
    if (afterOffset < beforeOffset) afterOffset = beforeOffset;

    this.beforeOffset = beforeOffset;
    this.afterOffset = afterOffset;
    TextRange range = EditHelpers.getWordRangeAtOffsets(charSequence, beforeOffset, afterOffset, WORD_IDENTIFIER, false, true);
    this.expandedBeforeOffset = range.getStartOffset();
    this.expandedAfterOffset = range.getEndOffset();

    this.expandedPrefix = expandedBeforeOffset > beforeOffset ? "" : charSequence.subSequence(expandedBeforeOffset, beforeOffset).toString();
    this.expandedSuffix = expandedAfterOffset < afterOffset ? "" : charSequence.subSequence(afterOffset, expandedAfterOffset).toString();

    this.inserted = charSequence.subSequence(beforeOffset, afterOffset).toString();

    this.charBefore = beforeOffset > 0 && beforeOffset - 1 < textLength ? charSequence.charAt(beforeOffset - 1) : ' ';
    this.charAfter = afterOffset < textLength ? charSequence.charAt(afterOffset) : ' ';
    this.sBefore = String.valueOf(charBefore);
    this.sAfter = String.valueOf(charAfter);
    this.isWordStartAtStart = isWordStart(charSequence, beforeOffset, false);
    this.isWordEndAtStart = isWordEnd(charSequence, beforeOffset, false);
    this.isWordStartAtEnd = isWordStart(charSequence, afterOffset, false);
    this.isWordEndAtEnd = isWordEnd(charSequence, afterOffset, false);

    myWord = inserted;
    myStudiedWord = StudiedWord.of(myWord, mySeparators);
    myCaretDelta = 0;
    myPrefixRemoved = false;
}
 
开发者ID:vsch,项目名称:MissingInActions,代码行数:36,代码来源:InsertedRangeContext.java

示例2: extractNumber

import com.vladsch.flexmark.util.sequence.BasedSequence; //导入方法依赖的package包/类
/**
 * Extract a number from given sequence based on prefix/suffix, base and template
 *
 * @param charSequence character sequence from which to extract a number
 * @param numberBase
 * @return number or null if unable to extract
 */
public static long extractNumber(@NotNull CharSequence charSequence, @NotNull NumberingOptions options, int numberBase, @Nullable Ref<Integer> refMaxDigit) {
    BasedSequence chars = BasedSequenceImpl.of(charSequence).trim();

    if (!options.getPrefix().trim().isEmpty()) chars = chars.removePrefix(options.getPrefix().trim());
    if (!options.getSuffix().trim().isEmpty()) chars = chars.removeSuffix(options.getSuffix().trim());

    chars = chars.trim();

    // see if we have a template and it matches somewhat
    long number = 0;
    boolean negative = false;
    int maxDigit = refMaxDigit != null ? refMaxDigit.value : numberBase - 1;

    for (int i = 0; i < chars.length(); i++) {
        char c = chars.charAt(i);
        if (c == '-' && i == 0) {
            negative = true;
            continue;
        }

        int digit = c >= '0' && c <= '9' ? c - '0' : c >= 'a' && c <= 'z' ? c - 'a' + 10 : c >= 'A' && c <= 'A' ? c - 'A' + 10 : -1;
        if (maxDigit < digit) maxDigit = digit;
        if (digit < 0 || digit >= numberBase) continue;
        number *= numberBase;
        number += digit;
    }

    if (negative) {
        number = -number;
    }
    if (refMaxDigit != null) refMaxDigit.value = maxDigit;
    return number;
}
 
开发者ID:vsch,项目名称:MissingInActions,代码行数:41,代码来源:NumberSequenceGenerator.java


注:本文中的com.vladsch.flexmark.util.sequence.BasedSequence.charAt方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。