org.apache.commons.lang3.StringUtils#countMatches ( )源码实例Demo

下面列出了org.apache.commons.lang3.StringUtils#countMatches ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: org.hl7.fhir.core   文件: ShExGenerator.java
/**
 * Emit a ShEx definition for the supplied StructureDefinition
 * @param sd Structure definition to emit
 * @return ShEx definition
 */
private String genShapeDefinition(StructureDefinition sd, boolean isResource) {
  ST resource_decl = tmplt(RESOURCE_DECL_TEMPLATE);
  ST struct_def = tmplt(SHAPE_DEFINITION_TEMPLATE);

  // todo: Figure out why this doesn't identify "Account" as a resource.  getResourceNames() returns "Resource", "Resource"
  // this.context.getResourceNames().contains(sd.getId())
  resource_decl.add("id", sd.getId());
  struct_def.add("resourceDecl", isResource ? resource_decl.render() : "");

  struct_def.add("id", sd.getId());
  List<String> elements = new ArrayList<String>();

  for (ElementDefinition ed : sd.getSnapshot().getElement()) {
    if(StringUtils.countMatches(ed.getPath(), ".") == 1) {
      elements.add(genElementDefinition(sd, ed));
    }
  }
  struct_def.add("elements", StringUtils.join(elements, ",\n\t"));
  return struct_def.render();
}
 
源代码2 项目: samantha   文件: SeparatedStringSizeExtractor.java
public Map<String, List<Feature>> extract(JsonNode entity, boolean update,
                                          IndexSpace indexSpace) {
    Map<String, List<Feature>> feaMap = new HashMap<>();
    if (entity.has(attrName) || alwaysExtract) {
        List<Feature> features = new ArrayList<>();
        String attr = "";
        if (entity.has(attrName)) {
            attr = entity.get(attrName).asText();
        }
        int size = StringUtils.countMatches(attr, separator) + 1;
        if ("".equals(attr) && !alwaysExtract) {
            size = 0;
        }
        if (maxFeatures != null && size > maxFeatures) {
            size = maxFeatures;
        }
        String key = FeatureExtractorUtilities.composeKey(attrName, "size");
        FeatureExtractorUtilities.getOrSetIndexSpaceToFeaturize(features, update,
                indexSpace, indexName, key, size);
        feaMap.put(feaName, features);
    } else {
        logger.warn("{} is not present in {}", attrName, entity);
    }
    return feaMap;
}
 
源代码3 项目: nuls   文件: ProgramDescriptors.java
private static String getDesc(String desc) {
    int dimensions = StringUtils.countMatches(desc, "[]");
    desc = desc.replace("[]", "");
    String[] parts = desc.split(" ");
    desc = parts[0];
    String desc1 = Descriptors.DESCRIPTORS.get(desc);
    if (desc1 != null) {
        desc = desc1;
    } else {
        desc1 = ProgramDescriptors.DESCRIPTORS.get(desc);
        if (desc1 != null) {
            desc = desc1;
        }
    }
    for (int i = 0; i < dimensions; i++) {
        desc = "[" + desc;
    }
    return desc;
}
 
源代码4 项目: synopsys-detect   文件: CpanListParser.java
public Map<String, String> createNameVersionMap(final List<String> listText) {
    final Map<String, String> nameVersionMap = new HashMap<>();

    for (final String line : listText) {
        if (StringUtils.isBlank(line)) {
            continue;
        }

        if (StringUtils.countMatches(line, "\t") != 1 || line.trim().contains(" ")) {
            continue;
        }

        try {
            final String[] module = line.trim().split("\t");
            final String name = module[0].trim();
            final String version = module[1].trim();
            nameVersionMap.put(name, version);
        } catch (final IndexOutOfBoundsException indexOutOfBoundsException) {
            logger.debug(String.format("Failed to handle the following line:%s", line));
        }
    }

    return nameVersionMap;
}
 
源代码5 项目: zongtui-webcrawler   文件: RegexSelector.java
public RegexSelector(String regexStr, int group) {
    if (StringUtils.isBlank(regexStr)) {
        throw new IllegalArgumentException("regex must not be empty");
    }
    // Check bracket for regex group. Add default group 1 if there is no group.
    // Only check if there exists the valid left parenthesis, leave regexp validation for Pattern.
    if (StringUtils.countMatches(regexStr, "(") - StringUtils.countMatches(regexStr, "\\(") ==
            StringUtils.countMatches(regexStr, "(?:") - StringUtils.countMatches(regexStr, "\\(?:")) {
        regexStr = "(" + regexStr + ")";
    }
    this.regexStr = regexStr;
    try {
        regex = Pattern.compile(regexStr, Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
    } catch (PatternSyntaxException e) {
        throw new IllegalArgumentException("invalid regex", e);
    }
    this.group = group;
}
 
源代码6 项目: ghidra   文件: JavaSourceFile.java
public void removeJavaStatement(int lineNumber) {
	JavaSourceLine startLine = getStatementStartForLine(lineNumber);
	if (startLine.getText().trim().endsWith(";")) {
		startLine.delete(); // statement is all on one line, nothing more to do
		return;
	}

	List<JavaSourceLine> linesToClear = new ArrayList<>(
		getRemainingLinesForStatement(startLine, startLine.getLineNumber() + 1));
	linesToClear.add(0, startLine);

	int size = linesToClear.size();
	for (int i = 0; i < size - 1; i++) {
		linesToClear.get(i).delete();
	}

	// do the last line special
	JavaSourceLine lastLine = linesToClear.get(size - 1);
	String text = lastLine.getText();
	int count = StringUtils.countMatches(text, ';');
	if (count == 1) {
		// normal line
		lastLine.delete();
		return;
	}

	// remove all text up to the first semicolon
	text = text.substring(text.indexOf(";") + 1);
	lastLine.setText(text);
}
 
源代码7 项目: scava   文件: CROSSIndexRecommender.java
private HashMap<String, Double> getEntropy(String target, String snippet, HashMap<String, Double> entropies,
		Boolean normalization, int tokens) throws IOException {
	int tot = tokens;
	double np;
	double count = StringUtils.countMatches(snippet, target);
	double p = count / (double) tot;
	np = 1 - p;
	double ent = -p * (Math.log(p) / Math.log(2)) - np * (Math.log(np) / Math.log(2));
	if (normalization) {
		entropies.put(target, ent);
	} else {
		entropies.put(target.toLowerCase(Locale.ENGLISH), weightRange(ent)); 
	}
	return entropies;
}
 
源代码8 项目: J2EEScan   文件: HTTPMatcher.java
/**
 * Detect the application context and the first nested path
 * Strategy used to test some Path Traversal issues
 * 
 * Ex: http://www.example.org/myapp/assets/test.jsf
 *
 * returns /myapp/assets/
 */
public static String getApplicationContextAndNestedPath(URL url) {

    String path = url.getPath();
    int i = path.lastIndexOf('/');
    String context = path.substring(0, i + 1);

    return (StringUtils.countMatches(context, "/") == 3) ? context : "";
}
 
源代码9 项目: quarkus   文件: QuarkusCommandHandlers.java
static List<AppArtifactCoords> computeCoordsFromQuery(final QuarkusCommandInvocation invocation,
        final Set<String> extensionsQuery) {
    final ArrayList<AppArtifactCoords> builder = new ArrayList<>();
    for (String query : extensionsQuery) {
        final int countColons = StringUtils.countMatches(query, ":");
        if (countColons == 1) {
            builder.add(toCoords(AppArtifactKey.fromString(query), null));
        } else if (countColons > 1) {
            builder.add(AppArtifactCoords.fromString(query));
        } else {
            SelectionResult result = select(query, invocation.getPlatformDescriptor().getExtensions(), false);
            if (result.matches()) {
                final Set<AppArtifactCoords> withStrippedVersion = result.getExtensions().stream().map(Extensions::toCoords)
                        .map(Extensions::stripVersion).collect(Collectors.toSet());
                // We strip the version because those extensions are managed
                builder.addAll(withStrippedVersion);
            } else {
                StringBuilder sb = new StringBuilder();
                // We have 3 cases, we can still have a single candidate, but the match is on label
                // or we have several candidates, or none
                Set<Extension> candidates = result.getExtensions();
                if (candidates.isEmpty()) {
                    // No matches at all.
                    invocation.log().info(nok("Cannot find a dependency matching '" + query + "', maybe a typo?"));
                    return null;
                } else {
                    sb.append(nok("Multiple extensions matching '")).append(query).append("'");
                    result.getExtensions()
                            .forEach(extension -> sb.append(System.lineSeparator()).append("     * ")
                                    .append(extension.managementKey()));
                    sb.append(System.lineSeparator())
                            .append("     Be more specific e.g using the exact name or the full GAV.");
                    invocation.log().info(sb.toString());
                    return null;
                }
            }
        }
    }
    return builder;
}
 
@Override
public StructureDefinition fetchStructureDefinition(FhirContext theContext, String theUrl) {
  String url = theUrl;
  if (url.startsWith(URL_PREFIX_STRUCTURE_DEFINITION)) {
    // no change
  } else if (url.indexOf('/') == -1) {
    url = URL_PREFIX_STRUCTURE_DEFINITION + url;
  } else if (StringUtils.countMatches(url, '/') == 1) {
    url = URL_PREFIX_STRUCTURE_DEFINITION_BASE + url;
  }
  return provideStructureDefinitionMap(theContext).get(url);
}
 
源代码11 项目: find   文件: ResultsITCase.java
@Test
@ResolvedBug("FIND-93")
public void testNoResults() {
    final ListView results = findService.search("thissearchwillalmostcertainlyreturnnoresults");

    new WebDriverWait(getDriver(), 60L).withMessage("No results message should appear")
        .until(ExpectedConditions.textToBePresentInElement(results.resultsDiv(), "No results found"));

    findPage.scrollToBottom();

    final int occurrences = StringUtils.countMatches(results.resultsDiv().getText(), "results found");
    verifyThat("Only one message showing at the bottom of search results", occurrences, is(1));
}
 
private boolean isJwtBearerToken(String token) {
    return StringUtils.countMatches(token, ".") == 2 && (token.startsWith("Bearer") || token.startsWith("bearer"));
}
 
源代码13 项目: reasonml-idea-plugin   文件: ORProjectManager.java
private static int fileSeparatorCount(@NotNull VirtualFile file) {
    return StringUtils.countMatches(file.getPath(), '/');
}
 
源代码14 项目: elexis-3-core   文件: MedicationService.java
@Override
public List<Float> getDosageAsFloats(IPrescription prescription){
	ArrayList<Float> list = new ArrayList<>();
	ArrayList<Float> sub_list = new ArrayList<>();
	float num = 0;
	String dosis = prescription.getDosageInstruction();
	if (dosis != null) {
		// Match stuff like '1/2', '7/8', '~1,2'
		// System.out.println(dosis.matches(special_num_at_start));
		if (dosis.matches(special_num_at_start)) {
			list.add(getNum(dosis.replace("~", "")));
		} else if (dosis.matches("[0-9½¼]+([xX][0-9]+(/[0-9]+)?|)")) { //$NON-NLS-1$
			String[] dose = dosis.split("[xX]"); //$NON-NLS-1$
			float count = getNum(dose[0]);
			if (dose.length > 1)
				num = getNum(dose[1]) * count;
			else
				num = getNum(dose[0]);
			list.add(num);
		} else {
			sub_list = getDosageAsFloats(dosis, "-");
			if (StringUtils.countMatches(dosis, "-") > 1 && sub_list.size() > 0) {
				return sub_list;
			}
			sub_list = getDosageAsFloats(dosis, "/");
			if (StringUtils.countMatches(dosis, "/") > 1 && sub_list.size() > 0) {
				return sub_list;
			}
			if (dosis.indexOf('-') != -1 || dosis.indexOf('/') != -1) {
				String[] dos = dosis.split("[- /]"); //$NON-NLS-1$
				if (dos.length > 2) {
					for (String d : dos) {
						boolean hasDigit = d.matches("^[~/.]*[½¼0-9].*");
						if (d.indexOf(' ') != -1)
							list.add(getNum(d.substring(0, d.indexOf(' '))));
						else if (d.length() > 0 && hasDigit)
							list.add(getNum(d));
						if (list.size() >= 4)
							return list;
					}
				} else if (dos.length > 1) {
					list.add(getNum(dos[1]));
				} else {
					// nothing to add
				}
			}
		}
	}
	return list;
}
 
源代码15 项目: Albianj2   文件: Path.java
public static String relativeToAbsolute(String currentPath, String relativePath) {
    //begin with /
    if (relativePath.startsWith(File.separator)) {
        return relativePath;
    }

    String path = currentPath;
    File f = new File(currentPath);
    if (f.isFile()) {
        path = FilenameUtils.getPath(currentPath);
    }


    //begin with . means current path
    if (!relativePath.startsWith("..")) {
        if (relativePath.startsWith(".")) {
            return joinWithFilename(relativePath.substring(1), currentPath);
        } else {
            return joinWithFilename(relativePath, currentPath);
        }
    }

    //begin with .. means back path
    int count = StringUtils.countMatches(relativePath, "..");
    if (path.endsWith(File.separator)) {
        path = path.substring(0, path.length() - 1);
    }

    int idx = StringUtils.lastIndexOf(relativePath, "..");
    String realpath = relativePath.substring(idx + 1);

    String[] paths = StringUtils.split(path, File.separatorChar);
    int basepathCount = paths.length - count;
    if (0 > basepathCount) throw new RuntimeException("parent folder is so short.");
    if (0 == basepathCount) return realpath;
    String[] basePaths = new String[basepathCount];
    for (int i = 0; i < basepathCount; i++) {
        basePaths[i] = paths[i];
    }

    String basepath = StringUtils.join(basePaths, File.separator);
    return joinWithFilename(realpath, basepath);
}
 
源代码16 项目: htmlunit   文件: ComputedCSSStyleDeclaration.java
/**
 * Returns the element's calculated height taking relevant CSS into account, but <b>not</b> the element's child
 * elements.
 *
 * @return the element's calculated height taking relevant CSS into account, but <b>not</b> the element's child
 *         elements
 */
private int getEmptyHeight() {
    if (height2_ != null) {
        return height2_.intValue();
    }

    final DomNode node = getElement().getDomNodeOrDie();
    if (!node.mayBeDisplayed()) {
        height2_ = Integer.valueOf(0);
        return 0;
    }

    if (NONE.equals(getDisplay())) {
        height2_ = Integer.valueOf(0);
        return 0;
    }

    final Element elem = getElement();
    final int windowHeight = elem.getWindow().getWebWindow().getInnerHeight();

    if (elem instanceof HTMLBodyElement) {
        height2_ = windowHeight;
        return windowHeight;
    }

    final boolean explicitHeightSpecified = !super.getHeight().isEmpty();

    int defaultHeight;
    if (node instanceof HtmlDivision && StringUtils.isBlank(node.getTextContent())) {
        defaultHeight = 0;
    }
    else if (elem.getFirstChild() == null) {
        if (node instanceof HtmlRadioButtonInput || node instanceof HtmlCheckBoxInput) {
            defaultHeight = 13;
        }
        else if (node instanceof HtmlButton) {
            defaultHeight = 20;
        }
        else if (node instanceof HtmlInput && !(node instanceof HtmlHiddenInput)) {
            final BrowserVersion browser = getBrowserVersion();
            if (browser.hasFeature(JS_CLIENTHIGHT_INPUT_17)) {
                defaultHeight = 17;
            }
            else if (browser.hasFeature(JS_CLIENTHIGHT_INPUT_21)) {
                defaultHeight = 21;
            }
            else {
                defaultHeight = 20;
            }
        }
        else if (node instanceof HtmlSelect) {
            defaultHeight = 20;
        }
        else if (node instanceof HtmlTextArea) {
            defaultHeight = 49;
        }
        else if (node instanceof HtmlInlineFrame) {
            defaultHeight = 154;
        }
        else {
            defaultHeight = 0;
        }
    }
    else {
        defaultHeight = getBrowserVersion().getFontHeight(getFontSize());
        if (node instanceof HtmlDivision) {
            defaultHeight *= StringUtils.countMatches(node.asText(), '\n') + 1;
        }
    }

    final int defaultWindowHeight = elem instanceof HTMLCanvasElement ? 150 : windowHeight;

    int height = pixelValue(elem, new CssValue(defaultHeight, defaultWindowHeight) {
        @Override public String get(final ComputedCSSStyleDeclaration style) {
            final Element element = style.getElement();
            if (element instanceof HTMLBodyElement) {
                return String.valueOf(element.getWindow().getWebWindow().getInnerHeight());
            }
            return style.getStyleAttribute(HEIGHT, true);
        }
    });

    if (height == 0 && !explicitHeightSpecified) {
        height = defaultHeight;
    }

    height2_ = Integer.valueOf(height);
    return height;
}
 
源代码17 项目: dhis2-core   文件: OrganisationUnit.java
@JsonProperty( value = "level", access = JsonProperty.Access.READ_ONLY )
@JacksonXmlProperty( localName = "level", isAttribute = true )
public int getLevel()
{
    return StringUtils.countMatches( path, PATH_SEP );
}
 
源代码18 项目: tutorials   文件: CountCharsExampleUnitTest.java
@Test
public void givenString_whenUsingStringUtils_thenCountChars() throws InterruptedException {
    int count = StringUtils.countMatches("elephant", "e");
    assertEquals(2, count);
}
 
源代码19 项目: livingdoc-core   文件: CommandLineRunnerTest.java
private int countLines(String val) {
    return StringUtils.countMatches(val, "\n");
}
 
源代码20 项目: components   文件: DependenciesReader.java
/**
 * Checks whether dependency is correct and required. Required dependencies are: compile, runtime, provided Also
 * dependency should be fully described. It should contain gav, classifier and scope (totally 5 fields, thus 4 ":"
 * separators between fields)
 * 
 * @param dependencyLine line from dependencies.txt file describing component dependencies
 * @return true, if dependency is required; false - otherwise
 */
private boolean isRequiredDependency(String dependencyLine) {
    boolean result = (StringUtils.countMatches(dependencyLine, ":") > 3) && !dependencyLine.endsWith("test")
            && !dependencyLine.endsWith("system");
    return result;
}
 
 同类方法