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

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

源代码1 项目: cetty   文件: UrlUtils.java
public static String getHost(String url) {
    String host = url;
    int i = StringUtils.ordinalIndexOf(url, "/", 3);
    if (i > 0) {
        host = StringUtils.substring(url, 0, i);
    }
    return host;
}
 
源代码2 项目: colibri-ui   文件: AllureReporter.java
@Override
public void beforeStory(Story story, boolean givenStory) {
    uid = generateSuiteUid(story);
    String path = story.getPath();
    int secondIndex = StringUtils.ordinalIndexOf(path, "/", 2);
    String subPath = path.substring(secondIndex + 1);
    TestSuiteStartedEvent event = new TestSuiteStartedEvent(uid, story.getName());
    event.withLabels(AllureModelUtils.createTestFrameworkLabel("JBehave"));
    event.withTitle(subPath);
    allure.fire(event);
}
 
源代码3 项目: zongtui-webcrawler   文件: UrlUtils.java
public static String getHost(String url) {
    String host = url;
    int i = StringUtils.ordinalIndexOf(url, "/", 3);
    if (i > 0) {
        host = StringUtils.substring(url, 0, i);
    }
    return host;
}
 
源代码4 项目: yawp   文件: DataSourceInfo.java
public String getDatabaseName() {
    int startIndex = StringUtils.ordinalIndexOf(url, "/", 3) + 1;
    String databaseName = url.substring(startIndex);

    int endIndex = databaseName.indexOf("?");
    if(endIndex == -1) {
        return databaseName;
    }
    return databaseName.substring(0, endIndex);
}
 
源代码5 项目: saros   文件: TextPositionUtils.java
/**
 * Calculates the offset of the given text position in the given text using the given line
 * separator.
 *
 * @param text the text with which to calculate the offset
 * @param position the position for which to calculate the offset
 * @param lineSeparator the line separator used in the text
 * @return the offset of the given text position in the given text
 * @throws NullPointerException if the given text position, text, or line separator is <code>null
 *     </code>
 * @throws IllegalArgumentException if the given text position is invalid or if an empty string is
 *     passed as the line separator in combination with a text position that is not located in
 *     line 0
 * @throws IllegalStateException if the given text contains fewer lines than specified by the text
 *     position
 */
public static int calculateOffset(String text, TextPosition position, String lineSeparator) {

  Objects.requireNonNull(text, "The given document content must not be null");
  Objects.requireNonNull(position, "The given text position must not be null");
  Objects.requireNonNull(lineSeparator, "The given line separator must not be null");

  if (!position.isValid()) {
    throw new IllegalArgumentException("The given position must not be invalid");
  }

  int lineNumber = position.getLineNumber();

  if (lineNumber == 0) {
    return position.getInLineOffset();

  } else if (lineSeparator.isEmpty()) {
    throw new IllegalArgumentException(
        "No line separator was passed for a position that expects a text having multiple lines: "
            + position);
  }

  int previousLineEndOffset = StringUtils.ordinalIndexOf(text, lineSeparator, lineNumber);

  if (previousLineEndOffset == -1) {
    throw new IllegalStateException(
        "The given text contains fewer lines than specified by the text position");
  }

  int lineStartOffset = previousLineEndOffset + lineSeparator.length();

  return lineStartOffset + position.getInLineOffset();
}
 
源代码6 项目: iaf   文件: HttpResponseMock.java
private void appendHeaders(HttpRequestBase request, StringBuilder response) {
	Header[] headers = request.getAllHeaders();
	for (Header header : headers) {
		String headerName = header.getName();
		String headerValue = header.getValue();
		if(headerName.equals("X-Akamai-ACS-Auth-Data")) { //Ignore timestamps in request header
			int start = StringUtils.ordinalIndexOf(headerValue, ",", 3);
			int end = headerValue.lastIndexOf(",");
			headerValue = headerValue.substring(0, start) + ", timestamp, timestamp" + headerValue.substring(end);
		}
		response.append(headerName + ": " + headerValue + lineSeparator);
	}
}
 
源代码7 项目: webmagic   文件: UrlUtils.java
public static String getHost(String url) {
    String host = url;
    int i = StringUtils.ordinalIndexOf(url, "/", 3);
    if (i > 0) {
        host = StringUtils.substring(url, 0, i);
    }
    return host;
}
 
源代码8 项目: startup-os   文件: Strings.java
public static int ordinalIndexOf(String string, String searchString, int n) {
  return StringUtils.ordinalIndexOf(string, searchString, n);
}
 
源代码9 项目: yawp   文件: DataSourceInfo.java
public String getInitDatabaseUrl() {
    int endIndex = StringUtils.ordinalIndexOf(url, "/", 3) + 1;
    return url.substring(0, endIndex) + "template1";
}
 
源代码10 项目: saros   文件: GOTOInclusionTransformation.java
/**
 * Drops the leading overlap of delete operation A with delete operation B.
 *
 * <p>The entire text section between the start of operation A and the end of operation B is
 * dropped, even if operation B starts after the start of operation A.
 *
 * <p><b>NOTE:</b> This method does not check whether such an overlap actually exists. This must
 * be determined by the caller beforehand.
 *
 * <p><b>NOTE:</b> This method does not check its input. It is expected that such checks are done
 * by the caller.
 *
 * @param delA the operation whose leading overlap to drop
 * @param delB the operation overlapping with the start of the first operation
 * @return a new deletion operation containing the content of delete operation A after its leading
 *     overlap with delete operation B was dropped
 */
private DeleteOperation dropLeadingOverlap(DeleteOperation delA, DeleteOperation delB) {
  TextPosition startA = delA.getStartPosition();

  TextPosition startB = delB.getStartPosition();
  TextPosition endB = delB.getEndPosition();

  int inLineOffsetEndB = endB.getInLineOffset();

  String text = delA.getText();

  int lineDeltaA = delA.getLineDelta();
  int offsetDeltaA = delA.getOffsetDelta();

  int droppedLines = endB.getLineNumber() - startA.getLineNumber();

  String adjustedText;
  int adjustedLineDelta;
  int adjustedOffsetDelta;

  if (droppedLines == 0) {
    int droppedCharacters = inLineOffsetEndB - startA.getInLineOffset();

    adjustedText = text.substring(droppedCharacters);

    if (lineDeltaA == 0) {
      adjustedOffsetDelta = offsetDeltaA - droppedCharacters;
    } else {
      adjustedOffsetDelta = offsetDeltaA;
    }

    adjustedLineDelta = lineDeltaA;

  } else {
    int splitLineOffset =
        StringUtils.ordinalIndexOf(text, NORMALIZED_LINE_SEPARATOR, droppedLines);

    if (splitLineOffset == -1) {
      throw new IllegalStateException(
          "Could not find line separator " + droppedLines + " in text");
    }

    int newStartOffset = splitLineOffset + NORMALIZED_LINE_SEPARATOR.length() + inLineOffsetEndB;

    adjustedText = text.substring(newStartOffset);

    adjustedLineDelta = lineDeltaA - droppedLines;

    if (adjustedLineDelta == 0) {
      adjustedOffsetDelta = offsetDeltaA - inLineOffsetEndB;
    } else {
      adjustedOffsetDelta = offsetDeltaA;
    }
  }

  return new DeleteOperation(startB, adjustedLineDelta, adjustedOffsetDelta, adjustedText);
}
 
源代码11 项目: incubator-pinot   文件: StringFunctions.java
/**
 * @see StringUtils#ordinalIndexOf(CharSequence, CharSequence, int)
 * Return the Nth occurence of a substring within the String
 * @param input
 * @param find substring to find
 * @param instance Integer denoting the instance no.
 * @return start index of the Nth instance of subtring in main string
 */
@ScalarFunction
static Integer strpos(String input, String find, Integer instance) {
  return StringUtils.ordinalIndexOf(input, find, instance);
}
 
源代码12 项目: saros   文件: GOTOInclusionTransformation.java
/**
 * Drops the trailing overlap of delete operation A with delete operation B.
 *
 * <p>The entire text section between the start of operation B and the end of operation A is
 * dropped, even if operation B ends before the end of operation A.
 *
 * <p><b>NOTE:</b> This method does not check whether such an overlap actually exists. This must
 * be determined by the caller beforehand.
 *
 * <p><b>NOTE:</b> This method does not check its input. It is expected that such checks are done
 * by the caller.
 *
 * @param delA the operation whose trailing overlap to drop
 * @param delB the operation overlapping with the end of the first operation
 * @return a new deletion operation containing the content of delete operation A after its
 *     trailing overlap with delete operation B was dropped
 */
private DeleteOperation dropTrailingOverlap(DeleteOperation delA, DeleteOperation delB) {
  TextPosition startA = delA.getStartPosition();
  TextPosition endA = delA.getEndPosition();

  TextPosition startB = delB.getStartPosition();

  int inLineOffsetStartB = startB.getInLineOffset();

  String text = delA.getText();

  int lineDeltaA = delA.getLineDelta();

  int droppedLines = endA.getLineNumber() - startB.getLineNumber();

  String adjustedText;
  int adjustedLineDelta;
  int adjustedOffsetDelta;

  if (droppedLines == 0) {
    int droppedCharacters = endA.getInLineOffset() - inLineOffsetStartB;

    adjustedText = text.substring(0, text.length() - droppedCharacters);

    adjustedOffsetDelta = delA.getOffsetDelta() - droppedCharacters;

    adjustedLineDelta = lineDeltaA;

  } else {
    adjustedLineDelta = lineDeltaA - droppedLines;

    if (adjustedLineDelta == 0) {

      adjustedOffsetDelta = inLineOffsetStartB - startA.getInLineOffset();

      adjustedText = text.substring(0, adjustedOffsetDelta);

    } else {
      int splitLineOffset =
          StringUtils.ordinalIndexOf(text, NORMALIZED_LINE_SEPARATOR, adjustedLineDelta);

      if (splitLineOffset == -1) {
        throw new IllegalStateException(
            "Could not find line separator " + adjustedLineDelta + " in text");
      }

      int newEndOffset =
          splitLineOffset + NORMALIZED_LINE_SEPARATOR.length() + inLineOffsetStartB;

      adjustedText = text.substring(0, newEndOffset);

      adjustedOffsetDelta = inLineOffsetStartB;
    }
  }

  return new DeleteOperation(startA, adjustedLineDelta, adjustedOffsetDelta, adjustedText);
}
 
 同类方法