gpt4 book ai didi

string - "shortening"字符串的算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:23:13 27 4
gpt4 key购买 nike

我正在寻找优雅的方法来“缩短”对象的(用户提供的)名称。更准确地说:

  • 我的用户可以输入自由文本(用作某些对象的“名称”),他们最多可以使用 64 个字符(包括空格、标点符号……)
  • 除了那个“长”名字;我们还有一个“精简”名称(恰好 8 个字符);某些遗留界面需要

现在我正在寻找有关如何根据 64 个字符的名称生成这些“简化”名称的想法。

对于“优雅”,我想知道是否有任何有用的想法“可能”允许用户在缩短的字符串中识别出有值(value)的东西。比如,如果名称是“Production Test Item A5”;那么也许“PTIA5”可能(或可能不会)告诉用户一些有用的信息。

最佳答案

对长版本应用子字符串方法,修剪它,以防末尾有任何空白字符,可选择地从最末尾删除任何特殊字符(例如破折号),最后添加一个点,以备不时之需以这种方式表示您的缩写。

快速入门:

  String longVersion = "Aswaghtde-5d";

// Get substring 0..8 characters
String shortVersion = longVersion.substring(0, (longVersion.length() < 8 ? longVersion.length() : 8));

// Remove whitespace characters from end of String
shortVersion = shortVersion.trim();

// Remove any non-characters from end of String
shortVersion = shortVersion.replaceAll("[^a-zA-Z0-9\\s]+$", "");

// Add dot to end
shortVersion = shortVersion.substring(0, (shortVersion.length() < 8 ? shortVersion.length() : shortVersion.length() - 1)) + ".";

System.out.println(shortVersion);

关于string - "shortening"字符串的算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28045589/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com