com.google.common.base.Strings.commonPrefix()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(185)

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

Strings.commonPrefix介绍

[英]Returns the longest string prefix such that a.toString().startsWith(prefix) &&, taking care not to split surrogate pairs. If a and b have no common prefix, returns the empty string.
[中]返回最长的字符串前缀,例如a.toString()。startsWith(prefix)&,注意不要拆分代理项对。如果a和b没有公共前缀,则返回空字符串。

代码示例

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

private CharSequence extractSourceCode() {
  CharSequence charSequence = consumer.asCharSequence();
  if (Strings.commonPrefix(charSequence, NO_IMPORTS).startsWith(NO_IMPORTS)) {
   return charSequence;
  }
  return PostprocessingMachine.rewrite(charSequence);
 }
}

代码示例来源:origin: google/guava

public void testCommonPrefix() {
 assertEquals("", Strings.commonPrefix("", ""));
 assertEquals("", Strings.commonPrefix("abc", ""));
 assertEquals("", Strings.commonPrefix("", "abc"));
 assertEquals("", Strings.commonPrefix("abcde", "xyz"));
 assertEquals("", Strings.commonPrefix("xyz", "abcde"));
 assertEquals("", Strings.commonPrefix("xyz", "abcxyz"));
 assertEquals("a", Strings.commonPrefix("abc", "aaaaa"));
 assertEquals("aa", Strings.commonPrefix("aa", "aaaaa"));
 assertEquals("abc", Strings.commonPrefix(new StringBuffer("abcdef"), "abcxyz"));
 // Identical valid surrogate pairs.
 assertEquals(
   "abc\uD8AB\uDCAB", Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uDCABxyz"));
 // Differing valid surrogate pairs.
 assertEquals("abc", Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uDCACxyz"));
 // One invalid pair.
 assertEquals("abc", Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uD8ABxyz"));
 // Two identical invalid pairs.
 assertEquals(
   "abc\uD8AB\uD8AC", Strings.commonPrefix("abc\uD8AB\uD8ACdef", "abc\uD8AB\uD8ACxyz"));
 // Two differing invalid pairs.
 assertEquals("abc\uD8AB", Strings.commonPrefix("abc\uD8AB\uD8ABdef", "abc\uD8AB\uD8ACxyz"));
 // One orphan high surrogate.
 assertEquals("", Strings.commonPrefix("\uD8AB\uDCAB", "\uD8AB"));
 // Two orphan high surrogates.
 assertEquals("\uD8AB", Strings.commonPrefix("\uD8AB", "\uD8AB"));
}

代码示例来源:origin: google/truth

int prefix = commonPrefix(expected, actual).length();
prefix = max(0, prefix - CONTEXT);
while (prefix > 0 && validSurrogatePairAt(expected, prefix - 1)) {

代码示例来源:origin: jtablesaw/tablesaw

default StringColumn commonPrefix(Column<?> column2) {
  StringColumn newColumn = StringColumn.create(name() + column2.name() + "[prefix]");
  for (int r = 0; r < size(); r++) {
    String value1 = getString(r);
    String value2 = column2.getString(r);
    newColumn.append(Strings.commonPrefix(value1, value2));
  }
  return newColumn;
}

代码示例来源:origin: zolyfarkas/spf4j

@Nonnull
public static String commonPrefix(@Nonnull final CharSequence... strs) {
 if (strs.length <= 0) {
  throw new IllegalArgumentException("Must have at least 1 string " + java.util.Arrays.toString(strs));
  }
 CharSequence common = strs[0];
 for (int i = 1; i < strs.length; i++) {
  common = com.google.common.base.Strings.commonPrefix(common, strs[i]);
 }
 return common.toString();
}

代码示例来源:origin: zolyfarkas/spf4j

@Nonnull
public static String commonPrefix(@Nonnull final CharSequence... strs) {
 if (strs.length <= 0) {
  throw new IllegalArgumentException("Must have at least 1 string " + java.util.Arrays.toString(strs));
  }
 CharSequence common = strs[0];
 for (int i = 1; i < strs.length; i++) {
  common = com.google.common.base.Strings.commonPrefix(common, strs[i]);
 }
 return common.toString();
}

代码示例来源:origin: eu.fbk.pikes/pikes-naflib

public Path path() {
  if (this.path == null) {
    String prefix = this.files[0].toString();
    for (final Path file : this.files) {
      prefix = Strings.commonPrefix(prefix, file.toString());
    }
    Path path = Paths.get(prefix);
    if (!Files.exists(path) || !Files.isDirectory(path)) {
      path = path.getParent();
    }
    this.path = path.toAbsolutePath().normalize();
  }
  return this.path;
}

代码示例来源:origin: Simmetrics/simmetrics

@Override
public float compare(final String a, final String b) {
  final float jaroScore = jaro.compare(a, b);
  if (jaroScore < boostThreshold) {
    return jaroScore;
  }
  int prefixLength = min(commonPrefix(a, b).length(), maxPrefixLength);
  return jaroScore + (prefixLength * prefixScale * (1.0f - jaroScore));
}

代码示例来源:origin: org.wisdom-framework/wisdom-source-model

/**
   * /foo < /foo/ < /foo/bar < /fooa
   *
   * @param o1
   * @param o2
   * @return
   */
  @Override
  public int compare(String o1, String o2) {

    if (o1.equals(o2)) {
      return 0;
    }

    String prefix = Strings.commonPrefix(o1, o2);
    if (prefix.length() == 0) {
      // No common prefix
      return o1.compareTo(o2);
    }

    if (o1.length() == prefix.length()) {
      return -1;
    }

    return o1.compareTo(o2);

  }
}

代码示例来源:origin: jwills/avro-json

protected Schema getSplitSchema(InputSplit split, JobConf job) throws IOException {
 if (schemas == null) {
  loadSchemas(job);
 }
 FileSplit fs = (FileSplit) split;
 Schema schema = null;
 if (schemas.size() == 1) {
  schema = schemas.get(0);
 } else {
  // Need to figure out which schema we're loading
  String current = fs.getPath().toString();
  int index = -1;
  int bestMatchLength = -1;
  for (int i = 0; i < inputPaths.length; i++) {
   int match = Strings.commonPrefix(current, inputPaths[i]).length();
   if (match > bestMatchLength) {
    bestMatchLength = match;
    index = i;
   }
  }
  schema = schemas.get(index);
 }
 return schema;
}

代码示例来源:origin: com.itemis.maven.plugins/unleash-utils

String commonPrefix = Strings.commonPrefix(v1, v2);
v1 = v1.substring(commonPrefix.length());
v2 = v2.substring(commonPrefix.length());

代码示例来源:origin: shillner/unleash-maven-plugin

String commonPrefix = Strings.commonPrefix(v1, v2);
v1 = v1.substring(commonPrefix.length());
v2 = v2.substring(commonPrefix.length());

代码示例来源:origin: io.digdag/digdag-core

private List<ResumingTask> collectResumingTasks(long attemptId, WorkflowTaskList tasks)
{
  if (tasks.isEmpty()) {
    return ImmutableList.of();
  }
  String commonPrefix = tasks.stream()
    .map(t -> t.getFullName())
    .reduce(tasks.get(0).getFullName(), (name1, name2) -> Strings.commonPrefix(name1, name2));
  return store.getResumingTasksByNamePrefix(attemptId, commonPrefix);
}

代码示例来源:origin: com.google.guava/guava-tests

public void testCommonPrefix() {
 assertEquals("", Strings.commonPrefix("", ""));
 assertEquals("", Strings.commonPrefix("abc", ""));
 assertEquals("", Strings.commonPrefix("", "abc"));
 assertEquals("", Strings.commonPrefix("abcde", "xyz"));
 assertEquals("", Strings.commonPrefix("xyz", "abcde"));
 assertEquals("", Strings.commonPrefix("xyz", "abcxyz"));
 assertEquals("a", Strings.commonPrefix("abc", "aaaaa"));
 assertEquals("aa", Strings.commonPrefix("aa", "aaaaa"));
 assertEquals("abc",
   Strings.commonPrefix(new StringBuffer("abcdef"), "abcxyz"));
   Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uDCABxyz"));
   Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uDCACxyz"));
   Strings.commonPrefix("abc\uD8AB\uDCABdef", "abc\uD8AB\uD8ABxyz"));
   Strings.commonPrefix("abc\uD8AB\uD8ACdef", "abc\uD8AB\uD8ACxyz"));
   Strings.commonPrefix("abc\uD8AB\uD8ABdef", "abc\uD8AB\uD8ACxyz"));
 assertEquals("", Strings.commonPrefix("\uD8AB\uDCAB", "\uD8AB"));
 assertEquals("\uD8AB", Strings.commonPrefix("\uD8AB", "\uD8AB"));

代码示例来源:origin: org.datavec/datavec-dataframe

default CategoryColumn commonPrefix(Column column2) {
  CategoryColumn newColumn = CategoryColumn.create(name() + column2.name() + "[prefix]");
  for (int r = 0; r < size(); r++) {
    String value1 = getString(r);
    String value2 = column2.getString(r);
    newColumn.set(r, Strings.commonPrefix(value1, value2));
  }
  return newColumn;
}

代码示例来源:origin: tech.tablesaw/tablesaw-core

default StringColumn commonPrefix(Column<?> column2) {
  StringColumn newColumn = StringColumn.create(name() + column2.name() + "[prefix]");
  for (int r = 0; r < size(); r++) {
    String value1 = getString(r);
    String value2 = column2.getString(r);
    newColumn.append(Strings.commonPrefix(value1, value2));
  }
  return newColumn;
}

相关文章