Example usage for java.lang Character isLetterOrDigit

List of usage examples for java.lang Character isLetterOrDigit

Introduction

In this page you can find the example usage for java.lang Character isLetterOrDigit.

Prototype

public static boolean isLetterOrDigit(int codePoint) 

Source Link

Document

Determines if the specified character (Unicode code point) is a letter or digit.

Usage

From source file:org.genemania.plugin.cytoscape.AbstractCytoscapeUtils.java

private String filterTitle(String title) {
    StringBuilder builder = new StringBuilder();
    for (int i = 0; i < title.length(); i++) {
        char character = title.charAt(i);
        if (Character.isLetterOrDigit(character)) {
            builder.append(character);/* www  . ja va2  s. c om*/
        } else {
            builder.append("_"); //$NON-NLS-1$
        }
    }
    return builder.toString();
}

From source file:org.qedeq.base.utility.StringUtility.java

/**
 * Tests if given <code>String</code> begins with a letter and contains
 * only letters and digits./*ww w. ja  v  a 2 s. co  m*/
 *
 * @param   text    test this
 * @return  is <code>text</code> only made of letters and digits and has
 *          a leading letter?
 * @throws  NullPointerException if <code>text == null</code>
 */
public static boolean isLetterDigitString(final String text) {
    if (text.length() <= 0) {
        return false;
    }
    if (!Character.isLetter(text.charAt(0))) {
        return false;
    }
    for (int i = 1; i < text.length(); i++) {
        if (!Character.isLetterOrDigit(text.charAt(i))) {
            return false;
        }
    }
    return true;
}

From source file:feedsplugin.FeedsPlugin.java

private String removePunctuation(String title) {
    while (title.length() > 0 && !Character.isLetterOrDigit(title.charAt(title.length() - 1))) {
        title = title.substring(0, title.length() - 1);
    }/*from w  ww . jav  a 2s  . co  m*/
    return title;
}

From source file:org.lol.reddit.reddit.prepared.markdown.MarkdownTokenizer.java

private static void linkify(final IntArrayLengthPair input, final IntArrayLengthPair output) {

    if (input.data.length > output.data.length * 3)
        throw new RuntimeException();
    output.clear();/*from   w  ww .  jav a  2 s. c o  m*/

    int inBrackets = 0;
    boolean lastCharOk = true;

    for (int i = 0; i < input.pos; i++) {

        final int token = input.data[i];

        switch (token) {

        case TOKEN_BRACKET_SQUARE_OPEN:
        case TOKEN_PAREN_OPEN:
            output.data[output.pos++] = token;
            inBrackets++;
            lastCharOk = true;
            break;

        case TOKEN_BRACKET_SQUARE_CLOSE:
        case TOKEN_PAREN_CLOSE:
            output.data[output.pos++] = token;
            inBrackets--;
            lastCharOk = true;
            break;

        case ' ':
            output.data[output.pos++] = ' ';
            lastCharOk = true;
            break;

        case 'h':
        case 'w':

            if (inBrackets == 0 && lastCharOk) {

                final int linkStartType = getLinkStartType(input.data, i, input.pos);
                if (linkStartType >= 0) {

                    // Greedily read to space, or <>, or etc

                    final int linkStartPos = i;
                    final int linkPrefixEndPos = linkPrefixes[linkStartType].length + linkStartPos;
                    int linkEndPos = linkPrefixEndPos;

                    while (linkEndPos < input.pos) {

                        final int lToken = input.data[linkEndPos];

                        final boolean isValidChar = lToken != ' ' && lToken != '<' && lToken != '>'
                                && lToken != TOKEN_GRAVE && lToken != TOKEN_BRACKET_SQUARE_OPEN
                                && lToken != TOKEN_BRACKET_SQUARE_CLOSE;

                        if (isValidChar) {
                            linkEndPos++;
                        } else {
                            break;
                        }
                    }

                    // discard many final chars if they are '.', ',', '?', ';' etc
                    // THEN, discard single final char if it is '\'', '"', etc

                    while (input.data[linkEndPos - 1] == '.' || input.data[linkEndPos - 1] == ','
                            || input.data[linkEndPos - 1] == '?' || input.data[linkEndPos - 1] == ';') {
                        linkEndPos--;
                    }

                    if (input.data[linkEndPos - 1] == '"') {
                        linkEndPos--;
                    }

                    if (input.data[linkEndPos - 1] == '\'') {
                        linkEndPos--;
                    }

                    if (input.data[linkEndPos - 1] == ')') {
                        linkEndPos--;
                    }

                    if (linkEndPos - linkPrefixEndPos >= 2) {

                        final int[] reverted = revert(input.data, linkStartPos, linkEndPos);

                        output.data[output.pos++] = TOKEN_BRACKET_SQUARE_OPEN;
                        output.append(reverted);
                        output.data[output.pos++] = TOKEN_BRACKET_SQUARE_CLOSE;
                        output.data[output.pos++] = TOKEN_PAREN_OPEN;
                        output.append(reverted);
                        output.data[output.pos++] = TOKEN_PAREN_CLOSE;

                        i = linkEndPos - 1;

                    } else {
                        output.data[output.pos++] = token;
                    }

                } else {
                    output.data[output.pos++] = token;
                }

            } else {
                output.data[output.pos++] = token;
            }

            lastCharOk = false;
            break;

        case 'r':
        case 'u':
        case '/':

            if (inBrackets == 0 && lastCharOk) {

                final int linkStartType = getRedditLinkStartType(input.data, i, input.pos);
                if (linkStartType >= 0) {

                    final int linkStartPos = i;
                    final int linkPrefixEndPos = linkPrefixes_reddit[linkStartType].length + linkStartPos;
                    int linkEndPos = linkPrefixEndPos;

                    while (linkEndPos < input.pos) {

                        final int lToken = input.data[linkEndPos];

                        final boolean isValidChar = (lToken >= 'a' && lToken <= 'z')
                                || (lToken >= 'A' && lToken <= 'Z') || (lToken >= '0' && lToken <= '9')
                                || lToken == '_' || lToken == TOKEN_UNDERSCORE
                                || lToken == TOKEN_UNDERSCORE_DOUBLE || lToken == '+' || lToken == '-';

                        if (isValidChar) {
                            linkEndPos++;
                        } else {
                            break;
                        }
                    }

                    if (linkEndPos - linkPrefixEndPos > 2) {

                        final int[] reverted = revert(input.data, linkStartPos, linkEndPos);

                        output.data[output.pos++] = TOKEN_BRACKET_SQUARE_OPEN;
                        output.append(reverted);
                        output.data[output.pos++] = TOKEN_BRACKET_SQUARE_CLOSE;
                        output.data[output.pos++] = TOKEN_PAREN_OPEN;
                        output.append(reverted);
                        output.data[output.pos++] = TOKEN_PAREN_CLOSE;

                        i = linkEndPos - 1;

                    } else {
                        output.data[output.pos++] = token;
                    }

                } else {
                    output.data[output.pos++] = token;
                }

            } else {
                output.data[output.pos++] = token;
            }

            lastCharOk = false;
            break;

        default:
            // TODO test this against reddits impl
            lastCharOk = token < 0 || (!Character.isLetterOrDigit(token));
            output.data[output.pos++] = token;
            break;
        }
    }
}

From source file:opennlp.tools.textsimilarity.TextProcessor.java

public static ArrayList<String> fastTokenize(String txt, boolean retainPunc) {
    ArrayList<String> tokens = new ArrayList<String>();
    if (StringUtils.isEmpty(txt)) {
        return tokens;
    }/*from www.  j  ava2s  .  c o m*/

    StringBuffer tok = new StringBuffer();
    char[] chars = txt.toCharArray();

    for (int i = 0; i < chars.length; i++) {
        char c = chars[i];
        if (Character.isLetterOrDigit(c) || isSafePunc(chars, i)) {
            tok.append(c);
        } else if (Character.isWhitespace(c)) {
            if (tok.length() > 0) {
                tokens.add(tok.toString());
                tok.setLength(0);
            }
        } else {
            if (tok.length() > 0) {
                tokens.add(tok.toString());
                tok.setLength(0);
            }
            if (retainPunc) {
                tokens.add("<punc>");
            }
        }
    }

    if (tok.length() > 0) {
        tokens.add(tok.toString());
        tok.setLength(0);
    }
    return tokens;
}

From source file:com.unboundid.scim2.common.utils.Parser.java

/**
 * Read a filter token. A token is either:
 * <ul>//from ww  w  .j  a va  2  s . c o m
 *   <li>
 *     An attribute path terminated by a space or an opening parenthesis.
 *   </li>
 *   <li>
 *     An attribute path terminated by an opening brace.
 *   </li>
 *   <li>
 *     An operator terminated by a space or an opening parenthesis.
 *   </li>
 *   <li>
 *     An opening parenthesis.
 *   </li>
 *   <li>
 *     An closing parenthesis.
 *   </li>
 *   <li>
 *     An closing brace.
 *   </li>
 *   <li>
 *
 *   </li>
 * </ul>
 *
 * @param reader The reader to read from.
 * @param isValueFilter Whether to read the token for a value filter.
 *
 * @return The token at the current position, or {@code null} if the end of
 *         the input has been reached.
 * @throws BadRequestException If the filter string could not be parsed.
 */
private static String readFilterToken(final StringReader reader, final boolean isValueFilter)
        throws BadRequestException {
    int c;
    do {
        // Skip over any leading spaces.
        reader.mark(0);
        c = reader.read();
    } while (c == ' ');

    StringBuilder b = new StringBuilder();
    while (c > 0) {
        if (c == ' ') {
            // Terminating space. Consume it and return token.
            return b.toString();
        }
        if (c == '(' || c == ')') {
            if (b.length() > 0) {
                // Do not consume the parenthesis.
                reader.unread();
            } else {
                b.append((char) c);
            }
            return b.toString();
        }
        if (!isValueFilter && c == '[') {
            // Terminating opening brace. Consume it and return token.
            b.append((char) c);
            return b.toString();
        }
        if (isValueFilter && c == ']') {
            if (b.length() > 0) {
                // Do not consume the closing brace.
                reader.unread();
            } else {
                b.append((char) c);
            }
            return b.toString();
        }
        if (c == '-' || c == '_' || c == '.' || c == ':' || c == '$' || Character.isLetterOrDigit(c)) {
            b.append((char) c);
        } else {
            final String msg = String.format(
                    "Unexpected character '%s' at position %d for token starting at %d", (char) c,
                    reader.pos - 1, reader.mark);
            throw BadRequestException.invalidFilter(msg);
        }
        c = reader.read();
    }

    if (b.length() > 0) {
        return b.toString();
    }
    return null;
}

From source file:com.df.app.procedures.CarRecogniseLayout.java

private void init(final Context context) {
    rootView = LayoutInflater.from(context).inflate(R.layout.car_recognise_layout, this);

    deleteLastLicensePhoto();/*w w w  .j a  va  2  s  . c o m*/

    mCarSettings = CarSettings.getInstance();

    licenseRecognise = new LicenseRecognise(context, AppCommon.licensePhotoPath);

    licenseImageView = (ImageView) findViewById(R.id.licenseImage);
    licenseImageView.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            licenseRecognise.takePhoto();
        }
    });

    // 
    recogniseButton = (Button) rootView.findViewById(R.id.recognise_button);
    recogniseButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            // ???
            if (!mCarSettings.getBrandString().equals("")) {
                reRecognise(R.string.reRecognise1);
            } else if (!getEditViewText(rootView, R.id.plateNumber_edit).equals("")) {
                reRecognise(R.string.reRecognise);
            } else {
                //fillInDummyData();
                if (licensePhotoExist())
                    recogniseLicense();
                else
                    Toast.makeText(context, "???", Toast.LENGTH_SHORT).show();
            }
        }
    });

    // vin
    Button vinConfirmButton = (Button) rootView.findViewById(R.id.vinConfirm_button);
    vinConfirmButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            // VIN??
            if (getEditViewText(rootView, R.id.vin_edit).equals("")) {
                Toast.makeText(rootView.getContext(), "VIN?", Toast.LENGTH_SHORT).show();
            } else {
                checkVinAndGetCarSettings();
            }
        }
    });

    // ?
    Button brandSelectButton = (Button) rootView.findViewById(R.id.brand_select_button);
    brandSelectButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View view) {
            selectCarManually();
        }
    });

    vehicleTypeEdit = (EditText) rootView.findViewById(R.id.vehicleType_edit);
    vehicleTypeEdit.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_UP:
                choose(R.array.vehicleType_items, R.id.vehicleType_edit);
                break;
            }
            return false;
        }
    });

    useCharacterEdit = (EditText) rootView.findViewById(R.id.useCharacter_edit);
    useCharacterEdit.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_UP:
                choose(R.array.useCharacter_items, R.id.useCharacter_edit);
                break;
            }
            return false;
        }
    });

    // vin???
    InputFilter alphaNumericFilter = new InputFilter() {
        @Override
        public CharSequence filter(CharSequence arg0, int arg1, int arg2, Spanned arg3, int arg4, int arg5) {
            for (int k = arg1; k < arg2; k++) {
                if (!Character.isLetterOrDigit(arg0.charAt(k))) {
                    return "";
                }
            }
            return null;
        }
    };

    EditText vin_edit = (EditText) findViewById(R.id.vin_edit);
    vin_edit.setFilters(new InputFilter[] { alphaNumericFilter, new InputFilter.AllCaps(),
            new InputFilter.LengthFilter(17) });

    EditText plateNumberEdit = (EditText) findViewById(R.id.plateNumber_edit);
    plateNumberEdit
            .setFilters(new InputFilter[] { new InputFilter.AllCaps(), new InputFilter.LengthFilter(10) });

    EditText licenseModelEdit = (EditText) findViewById(R.id.licenseModel_edit);
    licenseModelEdit
            .setFilters(new InputFilter[] { new InputFilter.AllCaps(), new InputFilter.LengthFilter(22) });

    EditText engineSerialEdit = (EditText) findViewById(R.id.engineSerial_edit);
    engineSerialEdit
            .setFilters(new InputFilter[] { new InputFilter.AllCaps(), new InputFilter.LengthFilter(17) });

    vehicleModel = MainActivity.vehicleModel;
}

From source file:forge.gui.ImportSourceAnalyzer.java

private static String oldCleanString(final String in) {
    final StringBuilder out = new StringBuilder();
    for (int i = 0; i < in.length(); i++) {
        final char c = in.charAt(i);
        if ((c == ' ') || (c == '-')) {
            out.append('_');
        } else if (Character.isLetterOrDigit(c) || (c == '_')) {
            out.append(c);/*from   w  w w .  j  a  v  a  2 s . c om*/
        }
    }

    // usually we would want to pass Locale.ENGLISH to the toLowerCase() method to prevent unintentional
    // character mangling on some system locales, but we want to replicate the old code here exactly
    return out.toString().toLowerCase();
}

From source file:it.mb.whatshare.PairOutboundActivity.java

private void showPairingLayout() {
    View view = getLayoutInflater().inflate(R.layout.activity_qrcode, null);
    setContentView(view);//from  w w  w  .j  av a 2  s  .  com
    String paired = getOutboundPaired();
    if (paired != null) {
        ((TextView) findViewById(R.id.qr_instructions))
                .setText(getString(R.string.new_outbound_instructions, paired));
    }
    inputCode = (EditText) findViewById(R.id.inputCode);

    inputCode.setFilters(new InputFilter[] { new InputFilter() {
        /*
         * (non- Javadoc )
         * 
         * @see android .text. InputFilter # filter( java .lang.
         * CharSequence , int, int, android .text. Spanned , int, int)
         */
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
                int dend) {
            if (source instanceof SpannableStringBuilder) {
                SpannableStringBuilder sourceAsSpannableBuilder = (SpannableStringBuilder) source;
                for (int i = end - 1; i >= start; i--) {
                    char currentChar = source.charAt(i);
                    if (!Character.isLetterOrDigit(currentChar)) {
                        sourceAsSpannableBuilder.delete(i, i + 1);
                    }
                }
                return source;
            } else {
                StringBuilder filteredStringBuilder = new StringBuilder();
                for (int i = 0; i < end; i++) {
                    char currentChar = source.charAt(i);
                    if (Character.isLetterOrDigit(currentChar)) {
                        filteredStringBuilder.append(currentChar);
                    }
                }
                return filteredStringBuilder.toString();
            }
        }
    }, new InputFilter.LengthFilter(MAX_SHORTENED_URL_LENGTH) });

    inputCode.setOnEditorActionListener(new OnEditorActionListener() {

        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if (actionId == EditorInfo.IME_ACTION_DONE) {
                onSubmitPressed(null);
                return keepKeyboardVisible;
            }
            return false;
        }
    });

    final ImageView qrWrapper = (ImageView) findViewById(R.id.qr_code);
    qrWrapper.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        private boolean createdQRCode = false;

        @Override
        public void onGlobalLayout() {
            if (!createdQRCode) {
                try {
                    Bitmap qrCode = generateQRCode(generateRandomSeed(),
                            getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT
                                    ? qrWrapper.getHeight()
                                    : qrWrapper.getWidth());
                    if (qrCode != null) {
                        qrWrapper.setImageBitmap(qrCode);
                    }
                    createdQRCode = true;
                } catch (WriterException e) {
                    e.printStackTrace();
                }
            }
        }
    });
}

From source file:com.perl5.lang.perl.util.PerlPackageUtil.java

/**
 * Finds and processes all namespace definitions for psi element, according to it's resolve scope
 *
 * @param element   element in question//from  w  w w.  j a  v a 2  s. c  o m
 * @param processor processor
 */
public static void processDefinedPackagesForPsiElement(PsiElement element,
        Processor<Collection<PerlNamespaceDefinition>> processor) {
    if (element == null) {
        return;
    }

    final Project project = element.getProject();
    final GlobalSearchScope elementResolveScope = element.getResolveScope();

    for (String packageName : PerlPackageUtil.getDefinedPackageNames(project)) {
        if (packageName.length() > 0 && Character.isLetterOrDigit(packageName.charAt(0))) {
            Collection<PerlNamespaceDefinition> namespaceDefinitions = PerlPackageUtil
                    .getNamespaceDefinitions(project, packageName, elementResolveScope);

            if (namespaceDefinitions.size() > 0) {
                processor.process(namespaceDefinitions);
            }
        }
    }
}