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

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

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

StringUtils.lastIndexOf介绍

[英]Returns the index within seq of the last occurrence of the specified character. For values of searchChar in the range from 0 to 0xFFFF (inclusive), the index (in Unicode code units) returned is the largest value k such that:

this.charAt(k) == searchChar

is true. For other values of searchChar, it is the largest value k such that:

this.codePointAt(k) == searchChar

is true. In either case, if no such character occurs in this string, then -1 is returned. Furthermore, a null or empty ("") CharSequence will return -1. The seq``CharSequence object is searched backwards starting at the last character.

StringUtils.lastIndexOf(null, *)         = -1 
StringUtils.lastIndexOf("", *)           = -1 
StringUtils.lastIndexOf("aabaabaa", 'a') = 7 
StringUtils.lastIndexOf("aabaabaa", 'b') = 5

[中]返回指定字符最后一次出现时seq内的索引。对于介于0到0xFFFF(含)之间的searchChar值,返回的索引(以Unicode代码单位表示)是最大的值k,因此:

this.charAt(k) == searchChar

为真。对于searchChar的其他值,它是最大值k,因此:

this.codePointAt(k) == searchChar

为真。无论哪种情况,如果此字符串中没有此类字符,则返回-1。此外,null或空(“”CharSequence将返回-1。从最后一个字符开始向后搜索[$5$]CharSequence对象

StringUtils.lastIndexOf(null, *)         = -1 
StringUtils.lastIndexOf("", *)           = -1 
StringUtils.lastIndexOf("aabaabaa", 'a') = 7 
StringUtils.lastIndexOf("aabaabaa", 'b') = 5

代码示例

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

private String getTypeAdminSectionMismatchUrl(TypedEntity typedEntity, String ceilingEntity, String uri, String sectionKey) {
  int lastDotIndex = StringUtils.lastIndexOf(ceilingEntity, ".");
  String ceilingEntityType = StringUtils.substring(ceilingEntity, lastDotIndex + 1).toLowerCase();
  String entityType = typedEntity.getType().getType().toLowerCase();
  if (StringUtils.equals(entityType, "standard") || StringUtils.equals(ceilingEntityType, entityType)) {
    return StringUtils.replace(uri, sectionKey, "/" + ceilingEntityType);
  }
  return StringUtils.replace(uri, sectionKey, "/" + ceilingEntityType + ":" + entityType);
}

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

@Test
public void testLastIndexOf_String() {
  assertEquals(-1, StringUtils.lastIndexOf(null, null));
  assertEquals(-1, StringUtils.lastIndexOf("", null));
  assertEquals(-1, StringUtils.lastIndexOf("", "a"));
  assertEquals(0, StringUtils.lastIndexOf("", ""));
  assertEquals(8, StringUtils.lastIndexOf("aabaabaa", ""));
  assertEquals(7, StringUtils.lastIndexOf("aabaabaa", "a"));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", "b"));
  assertEquals(4, StringUtils.lastIndexOf("aabaabaa", "ab"));
  assertEquals(4, StringUtils.lastIndexOf(new StringBuilder("aabaabaa"), "ab"));
}

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

@Test
public void testLastIndexOf_char() {
  assertEquals(-1, StringUtils.lastIndexOf(null, ' '));
  assertEquals(-1, StringUtils.lastIndexOf("", ' '));
  assertEquals(7, StringUtils.lastIndexOf("aabaabaa", 'a'));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", 'b'));
  assertEquals(5, StringUtils.lastIndexOf(new StringBuilder("aabaabaa"), 'b'));
}

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

@Test
public void testLastIndexOf_StringInt() {
  assertEquals(-1, StringUtils.lastIndexOf(null, null, 0));
  assertEquals(-1, StringUtils.lastIndexOf(null, null, -1));
  assertEquals(-1, StringUtils.lastIndexOf(null, "", 0));
  assertEquals(-1, StringUtils.lastIndexOf(null, "", -1));
  assertEquals(-1, StringUtils.lastIndexOf("", null, 0));
  assertEquals(-1, StringUtils.lastIndexOf("", null, -1));
  assertEquals(0, StringUtils.lastIndexOf("", "", 0));
  assertEquals(-1, StringUtils.lastIndexOf("", "", -1));
  assertEquals(0, StringUtils.lastIndexOf("", "", 9));
  assertEquals(0, StringUtils.lastIndexOf("abc", "", 0));
  assertEquals(-1, StringUtils.lastIndexOf("abc", "", -1));
  assertEquals(3, StringUtils.lastIndexOf("abc", "", 9));
  assertEquals(7, StringUtils.lastIndexOf("aabaabaa", "a", 8));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", "b", 8));
  assertEquals(4, StringUtils.lastIndexOf("aabaabaa", "ab", 8));
  assertEquals(2, StringUtils.lastIndexOf("aabaabaa", "b", 3));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", "b", 9));
  assertEquals(-1, StringUtils.lastIndexOf("aabaabaa", "b", -1));
  assertEquals(-1, StringUtils.lastIndexOf("aabaabaa", "b", 0));
  assertEquals(0, StringUtils.lastIndexOf("aabaabaa", "a", 0));
  assertEquals(-1, StringUtils.lastIndexOf("aabaabaa", "a", -1));
  assertEquals(7, StringUtils.lastIndexOf("12345678", "8", 9));
  assertEquals(7, StringUtils.lastIndexOf("12345678", "8", 8));
  assertEquals(7, StringUtils.lastIndexOf("12345678", "8", 7)); // 7 is last index
  assertEquals(-1, StringUtils.lastIndexOf("12345678", "8", 6));
  assertEquals(-1, StringUtils.lastIndexOf("aabaabaa", "b", 1));

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

@Test
public void testLastIndexOf_charInt() {
  assertEquals(-1, StringUtils.lastIndexOf(null, ' ', 0));
  assertEquals(-1, StringUtils.lastIndexOf(null, ' ', -1));
  assertEquals(-1, StringUtils.lastIndexOf("", ' ', 0));
  assertEquals(-1, StringUtils.lastIndexOf("", ' ', -1));
  assertEquals(7, StringUtils.lastIndexOf("aabaabaa", 'a', 8));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", 'b', 8));
  assertEquals(2, StringUtils.lastIndexOf("aabaabaa", 'b', 3));
  assertEquals(5, StringUtils.lastIndexOf("aabaabaa", 'b', 9));
  assertEquals(-1, StringUtils.lastIndexOf("aabaabaa", 'b', -1));
  assertEquals(0, StringUtils.lastIndexOf("aabaabaa", 'a', 0));
  assertEquals(2, StringUtils.lastIndexOf(new StringBuilder("aabaabaa"), 'b', 2));
  StringBuilder builder = new StringBuilder();
  builder.appendCodePoint(CODE_POINT);
  assertEquals(0, StringUtils.lastIndexOf(builder, CODE_POINT, 0));
  builder.appendCodePoint(CODE_POINT);
  assertEquals(0, StringUtils.lastIndexOf(builder, CODE_POINT, 0));
  assertEquals(0, StringUtils.lastIndexOf(builder, CODE_POINT, 1));
  assertEquals(2, StringUtils.lastIndexOf(builder, CODE_POINT, 2));
  assertEquals(2, StringUtils.lastIndexOf(builder, CODE_POINT, 4));
  assertEquals(-1, StringUtils.lastIndexOf(builder, CODE_POINT, 0));
  builder.appendCodePoint(CODE_POINT);
  assertEquals(-1, StringUtils.lastIndexOf(builder, CODE_POINT, 0));
  assertEquals(1, StringUtils.lastIndexOf(builder, CODE_POINT, 1 ));
  assertEquals(-1, StringUtils.lastIndexOf(builder.toString(), CODE_POINT, 0));

代码示例来源:origin: neuland/jade4j

public String resolvePath(String parentName, String templateName, String basePath, String extension) {
//        Path currentPath = Paths.get(filename);
//        Path templatePath = Paths.get(templateName);
//        Path parent = currentPath.getParent();
//        String filePath = templatePath.toString();
//        if(parent!=null)
//            filePath = parent.resolve(templatePath).toString();
    String filePath;
    if(templateName.startsWith("/")) {
      filePath = basePath + templateName;
    }else {
      if (FilenameUtils.indexOfLastSeparator(parentName) == -1)
        filePath = templateName;
      else {
        //            String currentDir = FilenameUtils.getFullPath(parentName);
        String currentDir = parentName.substring(0, FilenameUtils.indexOfLastSeparator(parentName) + 1);
        filePath = currentDir + templateName;
      }
    }
    if(StringUtils.lastIndexOf(filePath,"/") >= StringUtils.lastIndexOf(filePath,"."))
      filePath += "."+extension;
    filePath = FilenameUtils.normalize(filePath);
    return filePath;
  }
}

代码示例来源:origin: org.kuali.common/kuali-util

/**
 * Given {@code org.kuali} return {@code kuali}
 */
public static final String getOrgCode(String organizationGroupId) {
  int pos = StringUtils.lastIndexOf(organizationGroupId, ".");
  if (pos == -1) {
    return organizationGroupId;
  } else {
    return StringUtils.substring(organizationGroupId, pos + 1);
  }
}

代码示例来源:origin: net.serenity-bdd/serenity-model

private String filenameIn(final String path) {

    if (path.contains("/")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"/");
      return path.substring(filenameStartsAt + 1);

    } else if (path.contains("\\")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"\\");
      return path.substring(filenameStartsAt + 1);
    } else {
      return path;
    }
  }
}

代码示例来源:origin: net.serenity-bdd/core

private String filenameIn(final String path) {

    if (path.contains("/")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"/");
      return path.substring(filenameStartsAt + 1);

    } else if (path.contains("\\")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"\\");
      return path.substring(filenameStartsAt + 1);
    } else {
      return path;
    }
  }
}

代码示例来源:origin: metatron-app/metatron-discovery

/**
 * Remove table name
 */
private String extractColumnName(String name) {
 if (StringUtils.contains(name, ".")) {
  return StringUtils.substring(name, StringUtils.lastIndexOf(name, ".") + 1, name.length());
 }
 return name;
}

代码示例来源:origin: net.thucydides/thucydides-core

private String filenameIn(final String path) {

    if (path.contains("/")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"/");
      return path.substring(filenameStartsAt + 1);

    } else if (path.contains("\\")) {
      int filenameStartsAt = StringUtils.lastIndexOf(path,"\\");
      return path.substring(filenameStartsAt + 1);
    } else {
      return path;
    }
  }
}

代码示例来源:origin: com.github.mg365/mg-fw

@Override
public String classToTableName(String className) {
  String rawTableName = super.classToTableName(className);
  if (isRemoveLastWord) {
    int pos = StringUtils.lastIndexOf(rawTableName, '_');
    return tablePrefix + StringUtils.substring(rawTableName, 0, pos) + tableSuffix;
  }
  return tablePrefix + rawTableName + tableSuffix;
}

代码示例来源:origin: net.serenity-bdd/serenity-model

public final String findTargetFileFrom(final String sourceResource) {
  int directoryRootStartsAt = StringUtils.lastIndexOf(sourceResource,
      resourceDirectoryRoot);
  int relativePathStartsAt = directoryRootStartsAt
      + resourceDirectoryRoot.length() + 1;
  String relativePath = sourceResource.substring(relativePathStartsAt);
  return filenameIn(relativePath);
}

代码示例来源:origin: testIT-LivingDoc/livingdoc-core

private List<Class< ? >> findMatchingAnnotatedFixtures(String fixturename) {
  List<Class< ? >> matchingAnnotatedClasses = new ArrayList<Class< ? >>();
  String discernInnerClass;
  for (Class< ? > in : annotatedFixtureClasses) {
    discernInnerClass = in.toString().substring(StringUtils.indexOf(in.toString(), "$") + 1);
    discernInnerClass = discernInnerClass.substring(StringUtils.lastIndexOf(discernInnerClass, ".") + 1);
    if (Pattern.matches(fixturename, discernInnerClass)) {
      matchingAnnotatedClasses.add(in);
    }
  }
  return matchingAnnotatedClasses;
}

代码示例来源:origin: net.thucydides/thucydides-core

public final String findTargetFileFrom(final String sourceResource) {
  int directoryRootStartsAt = StringUtils.lastIndexOf(sourceResource,
      resourceDirectoryRoot);
  int relativePathStartsAt = directoryRootStartsAt
      + resourceDirectoryRoot.length() + 1;
  String relativePath = sourceResource.substring(relativePathStartsAt);
  return filenameIn(relativePath);
}

代码示例来源:origin: net.serenity-bdd/core

public final String findTargetFileFrom(final String sourceResource) {
  int directoryRootStartsAt = StringUtils.lastIndexOf(sourceResource,
      resourceDirectoryRoot);
  int relativePathStartsAt = directoryRootStartsAt
      + resourceDirectoryRoot.length() + 1;
  String relativePath = sourceResource.substring(relativePathStartsAt);
  return filenameIn(relativePath);
}

代码示例来源:origin: net.serenity-bdd/core

public final String findTargetSubdirectoryFrom(final String sourceResource) {
  int directoryRootStartsAt = StringUtils.lastIndexOf(sourceResource,
      resourceDirectoryRoot);
  int relativePathStartsAt = directoryRootStartsAt
      + resourceDirectoryRoot.length() + 1;
  String relativePath = sourceResource.substring(relativePathStartsAt);
  relativePath = stripLeadingSeparatorFrom(relativePath);
  return directoryIn(relativePath);
}

代码示例来源:origin: sofn/app-engine

@Bean
LocalContainerEntityManagerFactoryBean taskEntityManagerFactory() {
  HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();
  jpaVendorAdapter.setGenerateDdl(true);
  LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
  factoryBean.setDataSource(dataSource);
  factoryBean.setJpaVendorAdapter(jpaVendorAdapter);
  //此处应包含当前模块的domain类
  String packageName = TaskDbConfig.class.getPackage().getName();
  factoryBean.setPackagesToScan(StringUtils.substring(packageName, 0, StringUtils.lastIndexOf(packageName, '.')));
  return factoryBean;
}

代码示例来源:origin: sofn/app-engine

@Bean
LocalContainerEntityManagerFactoryBean userEntityManagerFactory() {
  HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();
  jpaVendorAdapter.setGenerateDdl(true);
  LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
  factoryBean.setDataSource(dataSource);
  factoryBean.setJpaVendorAdapter(jpaVendorAdapter);
  //此处应包含当前模块的domain类
  String packageName = UserDbConfig.class.getPackage().getName();
  factoryBean.setPackagesToScan(StringUtils.substring(packageName, 0, StringUtils.lastIndexOf(packageName, '.')));
  return factoryBean;
}

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

public static int lastIndexOf(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.lastIndexOf(cs1, cs2, startPos);
}

相关文章

StringUtils类方法