# @adobe/helix-shared-string 中文文档

规范地址：https://npmcn.com/package/%40adobe/helix-shared-string/

版本：2\.2\.0
npm 元数据更新时间：2026-10-01T01:34:24.184Z
中文译文更新时间：2026-11-06T15:14:15.553Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adobe/helix-shared-string
原文对照：https://npmcn.com/package/%40adobe/helix-shared-string/?lang=original
项目主页：https://github.com/adobe/helix-shared#readme
源码仓库：https://github.com/adobe/helix-shared

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：29.5 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2021-04-29T03:02:20.484Z
- 最新版本发布：2025-12-09T10:40:34.621Z
- 近 30 天下载量：2935（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：16（近 12 个月 1 个）

## 中文简介

Helix 项目共享模块 - 字符串

## 安装

```sh
npm install @adobe/helix-shared-string
```

也可以使用：`pnpm add @adobe/helix-shared-string`、`yarn add @adobe/helix-shared-string`、`bun add @adobe/helix-shared-string`

## README

# 螺旋共享 - 字符串

用于字符串操作的公用功能集,包括多行字符串处理,文件名 sanitization,路径处理,以及编辑距离计算.

## 安装

```bash
npm install @adobe/helix-shared-string
```

## 使用量

```js
import {
  multiline,
  splitByExtension,
  sanitizeName,
  sanitizePath,
  editDistance
} from '@adobe/helix-shared-string';
```

## 职能

### 多行( str)

以适当的缩进处理方式声明多行字符串 。 此函数将第一行和最后一行完全空出,并删除所有行中常见的空白前缀.

```js
const text = multiline(`
  Hello
  World
    Indented
  Back
`);
// Result: "Hello\nWorld\n  Indented\nBack"
```

该函数会自动检测并去除常见的缩进级,使其在代码中适合模板字符串.

### 拆分扩展( 名称)

在最后一个点拆分一个文件名,返回基名和扩展为双元素数组.

```js
splitByExtension('document.txt');
// Returns: ['document', 'txt']

splitByExtension('archive.tar.gz');
// Returns: ['archive.tar', 'gz']

splitByExtension('README');
// Returns: ['README', '']

splitByExtension('.gitignore');
// Returns: ['.gitignore', '']
```

### 消毒Name (名称)

将字符串设置为 :

-   转换为小写
-   所有 Unicode 字符规范化
-   替换所有带有破折号的非缩写字符
-   删除相接的破折号
-   删除前行和后行的破折号

```js
sanitizeName('My Document');
// Returns: 'my-document'

sanitizeName('Föhren Smürd');
// Returns: 'fohren-smurd'

sanitizeName('.My 2. Document-');
// Returns: 'my-2-document'
```

### 消毒Path( 文件路径, 选择)

使用相同的规则对文件路径进行安全化 `sanitizeName`,但只影响底名。 目录路径和扩展内容被保存.

```js
sanitizePath('/Untitled Folder/My Document.docx');
// Returns: '/Untitled Folder/my-document.docx'

sanitizePath('Föhren Smürd.txt');
// Returns: 'fohren-smurd.txt'

sanitizePath('.My 2. Document!.docx');
// Returns: 'my-2-document.docx'
```

**选项 :**

-   `ignoreExtension` (布尔语):如果 `true`,将整个文件名作为碱名,而不保留任何扩展名

```js
sanitizePath('.MyDocument', { ignoreExtension: true });
// Returns: 'mydocument'
```

### 编辑差异( s0, s1)

使用递归算法计算出两个字符串之间的Levenshtein编辑距离。 返回将一个字符串转换成另一个字符串所需的单个字符组编辑(插入、删除或替换)的最小数量.

```js
editDistance('foo', 'foo');
// Returns: 0

editDistance('foo', 'foo123');
// Returns: 3

editDistance('My Document', 'my-document');
// Returns: 3

editDistance('My 1. Document', 'my-1-document');
// Returns: 5
```

此功能对文件名等相对较短的字符串进行了优化,即使使用中长的输入,也表现良好.

## 常见问题

### @adobe/helix-shared-string 是什么？

Helix 项目共享模块 - 字符串

### 如何安装 @adobe/helix-shared-string？

在项目目录运行 npm install @adobe/helix-shared-string，或使用 pnpm add / yarn add / bun add。

### @adobe/helix-shared-string 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/adobe\_\_helix-shared-string 是否存在。

### @adobe/helix-shared-string 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @adobe/helix-shared-string 可以商用吗？

@adobe/helix-shared-string 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @adobe/helix-shared-string 的下载量有多少？

根据 npm 官方下载统计，@adobe/helix-shared-string 在 2026/10/05 – 2026/11/03 这 30 天内被下载 2,935 次，日均约 98 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @adobe/helix-shared-string 还在维护吗？

最新版本 2\.2\.0 发布于 2025/12/09（10 个月前）；至今共发布 16 个版本，其中过去 12 个月发布了 1 个；首次发布于 2021/04/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

