org.apache.commons.lang3.StringUtils.ordinalIndexOf()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(11.1k)|赞(0)|评价(0)|浏览(151)

本文整理了Java中org.apache.commons.lang3.StringUtils.ordinalIndexOf()方法的一些代码示例,展示了StringUtils.ordinalIndexOf()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。StringUtils.ordinalIndexOf()方法的具体详情如下:
包路径:org.apache.commons.lang3.StringUtils
类名称:StringUtils
方法名:ordinalIndexOf

StringUtils.ordinalIndexOf介绍

[英]Finds the n-th index within a CharSequence, handling null. This method uses String#indexOf(String) if possible.

Note: The code starts looking for a match at the start of the target, incrementing the starting index by one after each successful match (unless searchStr is an empty string in which case the position is never incremented and 0 is returned immediately). This means that matches may overlap.

A null CharSequence will return -1.

StringUtils.ordinalIndexOf(null, *, *)          = -1 
StringUtils.ordinalIndexOf(*, null, *)          = -1 
StringUtils.ordinalIndexOf("", "", *)           = 0 
StringUtils.ordinalIndexOf("aabaabaa", "a", 1)  = 0 
StringUtils.ordinalIndexOf("aabaabaa", "a", 2)  = 1 
StringUtils.ordinalIndexOf("aabaabaa", "b", 1)  = 2 
StringUtils.ordinalIndexOf("aabaabaa", "b", 2)  = 5 
StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1 
StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4 
StringUtils.ordinalIndexOf("aabaabaa", "", 1)   = 0 
StringUtils.ordinalIndexOf("aabaabaa", "", 2)   = 0

Matches may overlap:

StringUtils.ordinalIndexOf("ababab","aba", 1)   = 0 
StringUtils.ordinalIndexOf("ababab","aba", 2)   = 2 
StringUtils.ordinalIndexOf("ababab","aba", 3)   = -1 
StringUtils.ordinalIndexOf("abababab", "abab", 1) = 0 
StringUtils.ordinalIndexOf("abababab", "abab", 2) = 2 
StringUtils.ordinalIndexOf("abababab", "abab", 3) = 4 
StringUtils.ordinalIndexOf("abababab", "abab", 4) = -1

Note that 'head(CharSequence str, int n)' may be implemented as:

str.substring(0, lastOrdinalIndexOf(str, "\n", n))

[中]查找CharSequence中的第n个索引,处理null。如果可能,此方法使用String#indexOf(String)。
注意:代码从目标的开始处开始查找匹配项,在每次成功匹配后将开始索引增加1(除非searchStr是空字符串,在这种情况下,位置永远不会增加,并且立即返回0)。这意味着匹配可能重叠。
空字符序列将返回-1。

StringUtils.ordinalIndexOf(null, *, *)          = -1 
StringUtils.ordinalIndexOf(*, null, *)          = -1 
StringUtils.ordinalIndexOf("", "", *)           = 0 
StringUtils.ordinalIndexOf("aabaabaa", "a", 1)  = 0 
StringUtils.ordinalIndexOf("aabaabaa", "a", 2)  = 1 
StringUtils.ordinalIndexOf("aabaabaa", "b", 1)  = 2 
StringUtils.ordinalIndexOf("aabaabaa", "b", 2)  = 5 
StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1 
StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4 
StringUtils.ordinalIndexOf("aabaabaa", "", 1)   = 0 
StringUtils.ordinalIndexOf("aabaabaa", "", 2)   = 0

匹配可能重叠:

StringUtils.ordinalIndexOf("ababab","aba", 1)   = 0 
StringUtils.ordinalIndexOf("ababab","aba", 2)   = 2 
StringUtils.ordinalIndexOf("ababab","aba", 3)   = -1 
StringUtils.ordinalIndexOf("abababab", "abab", 1) = 0 
StringUtils.ordinalIndexOf("abababab", "abab", 2) = 2 
StringUtils.ordinalIndexOf("abababab", "abab", 3) = 4 
StringUtils.ordinalIndexOf("abababab", "abab", 4) = -1

注意,“head(CharSequence str,int n)”可以实现为:

str.substring(0, lastOrdinalIndexOf(str, "\n", n))

代码示例

代码示例来源:origin: code4craft/webmagic

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;
}

代码示例来源:origin: org.apache.commons/commons-lang3

return ordinalIndexOf(str, searchStr, ordinal, true);

代码示例来源:origin: org.apache.commons/commons-lang3

return ordinalIndexOf(str, searchStr, ordinal, false);

代码示例来源:origin: org.apache.commons/commons-lang3

@Test
  // Overlapping matching test
  public void testLANG1241_2() {
    //                                          0 2 4
    assertEquals(0, StringUtils.ordinalIndexOf("abababa", "aba", 1));
    assertEquals(2, StringUtils.ordinalIndexOf("abababa", "aba", 2));
    assertEquals(4, StringUtils.ordinalIndexOf("abababa", "aba", 3));
    assertEquals(0, StringUtils.ordinalIndexOf("abababab", "abab", 1));
    assertEquals(2, StringUtils.ordinalIndexOf("abababab", "abab", 2));
    assertEquals(4, StringUtils.ordinalIndexOf("abababab", "abab", 3));
  }
}

代码示例来源:origin: org.apache.commons/commons-lang3

@Test
// Non-overlapping test
public void testLANG1241_1() {
  //                                          0  3  6
  assertEquals(0, StringUtils.ordinalIndexOf("abaabaab", "ab", 1));
  assertEquals(3, StringUtils.ordinalIndexOf("abaabaab", "ab", 2));
  assertEquals(6, StringUtils.ordinalIndexOf("abaabaab", "ab", 3));
}

代码示例来源:origin: org.apache.commons/commons-lang3

@Test
public void testLANG1193() {
  assertEquals(0, StringUtils.ordinalIndexOf("abc", "ab", 1));
}

代码示例来源:origin: org.apache.commons/commons-lang3

@Test
public void testOrdinalIndexOf() {
  assertEquals(-1, StringUtils.ordinalIndexOf(null, null, Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("", null, Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("", "", Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "a", Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "b", Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "ab", Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "", Integer.MIN_VALUE));
  assertEquals(-1, StringUtils.ordinalIndexOf(null, null, -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("", null, -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("", "", -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "a", -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "b", -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "ab", -1));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "", -1));
  assertEquals(-1, StringUtils.ordinalIndexOf(null, null, 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("", null, 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("", "", 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "a", 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "b", 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "ab", 0));
  assertEquals(-1, StringUtils.ordinalIndexOf("aabaabaa", "", 0));
  assertEquals(-1, StringUtils.ordinalIndexOf(null, null, 1));
  assertEquals(-1, StringUtils.ordinalIndexOf("", null, 1));
  assertEquals(0, StringUtils.ordinalIndexOf("", "", 1));
  assertEquals(0, StringUtils.ordinalIndexOf("aabaabaa", "a", 1));

代码示例来源:origin: apache/metron

/**
 * Strips specified number of lines from beginning for String val
 * @param val
 * @param numLines
 */
public static String stripLines(String val, int numLines) {
 int start = org.apache.commons.lang3.StringUtils.ordinalIndexOf(val, System.lineSeparator(), numLines);
 start = start >= 0 ? start : 0;
 return val.substring(start);
}

代码示例来源:origin: us.codecraft/webmagic-core

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;
}

代码示例来源:origin: feroult/yawp

public String getInitDatabaseUrl() {
  int endIndex = StringUtils.ordinalIndexOf(url, "/", 3) + 1;
  return url.substring(0, endIndex) + "template1";
}

代码示例来源:origin: io.virtdata/virtdata-lib-curves4

return ordinalIndexOf(str, searchStr, ordinal, true);

代码示例来源:origin: de.knightsoft-net/gwt-commons-lang3

return ordinalIndexOf(str, searchStr, ordinal, true);

代码示例来源:origin: io.virtdata/virtdata-lib-realer

return ordinalIndexOf(str, searchStr, ordinal, true);

代码示例来源:origin: feroult/yawp

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);
  }
}

代码示例来源:origin: com.github.bingoohuang/blackcat-instrument

private static String keepMaxTraceIds(Cookie traceIdCookie) {
  val traceIds = new StringBuilder(Blackcat.currentTraceId());
  String x = "X";
  if (traceIdCookie != null) {
    traceIds.append(x).append(traceIdCookie.getValue());
  }
  int cutoffPos = ordinalIndexOf(traceIds, x, 30);
  if (cutoffPos > 0) {
    traceIds.delete(cutoffPos, traceIds.length());
  }
  return traceIds.toString();
}

代码示例来源:origin: org.jboss.windup.rules.apps/windup-rules-java-api

public String upToThirdDot(final GraphContext context, final Vertex v)
  {
    JavaClassFileModel javaModel = context.getFramed().frameElement(v, JavaClassFileModel.class);
    String pkgName = javaModel.getPackageName();
    int upToThirdDot = StringUtils.ordinalIndexOf(pkgName, ".", 3);
    return StringUtils.substring(pkgName, 0, upToThirdDot);
  }
}

代码示例来源:origin: windup/windup

public String upToThirdDot(final GraphContext context, final Vertex v)
  {
    JavaClassFileModel javaModel = context.getFramed().frameElement(v, JavaClassFileModel.class);
    String pkgName = javaModel.getPackageName();
    int upToThirdDot = StringUtils.ordinalIndexOf(pkgName, ".", 3);
    return StringUtils.substring(pkgName, 0, upToThirdDot);
  }
}

代码示例来源:origin: oracle/pgql-lang

return new Point2D(xVal, yVal);
case "POINT M":
 int yValEndPos = StringUtils.ordinalIndexOf(values, " ", 2);
 if (yValEndPos <= yValStartPos) {
  throw new WktParseException(wktPoint + " is not in the right format");

代码示例来源:origin: org.xworker/xworker_core

public static int ordinalIndexOf(ActionContext actionContext){
  Thing self = actionContext.getObject("self");
  CharSequence cs1  = (CharSequence) self.doAction("getCs1", actionContext);
  CharSequence cs2  = (CharSequence) self.doAction("getCs2", actionContext);
  Integer startPos = (Integer) self.doAction("getStartPos", actionContext);
  return StringUtils.ordinalIndexOf(cs1, cs2, startPos);
}

代码示例来源:origin: com.haulmont.cuba/cuba-rest-api

public InstanceRef parseInstanceRefAndRegister(String fullId) throws InstantiationException, IllegalAccessException {
  EntityLoadInfo loadInfo;
  if (!fullId.startsWith("NEW-")) {
    loadInfo = EntityLoadInfo.parse(fullId);
    if (loadInfo == null) {
      throw new RuntimeException("Cannot parse id: " + fullId);
    }
    InstanceRef existingRef = instanceRefs.get(loadInfo.getMetaClass().getName() + "-" + loadInfo.getId().toString());
    if (existingRef != null) {
      return existingRef;
    }
  } else {
    int idDashIndex = StringUtils.ordinalIndexOf(fullId, "-", 2);
    if (idDashIndex == -1) {
      String entityName = fullId.substring("NEW-".length());
      String generatedId = generateId(entityName);
      fullId = fullId + "-" + generatedId;
    }
    loadInfo = EntityLoadInfo.parse(fullId);
    if (loadInfo == null) {
      throw new RuntimeException("Cannot parse id: " + fullId);
    }
  }
  if (loadInfo.isNewEntity())
    newInstanceIds.add(loadInfo.toString());
  InstanceRef result = new InstanceRef(loadInfo);
  instanceRefs.put(loadInfo.getMetaClass().getName() + "-" + loadInfo.getId().toString(), result);
  return result;
}

相关文章

微信公众号

最新文章

更多

StringUtils类方法