List of usage examples for java.lang Character isLetterOrDigit
public static boolean isLetterOrDigit(int codePoint)
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); } } } }