regex - 正则表达式:提取 N 个字符之前的所有完整单词
问题描述
我正在寻找一种简短的方法来捕获句子的第一部分(完整的单词),直到第 30 个字符。
示例:“Lorem ipsum dolor sit amet, consectetur adipiscing elit”(55 个字符)-->“Lorem ipsum dolor sit amet”(28 个字符)
我将在 Google Sheet 中使用它,因此解决方案可以是 RegEx 和公式的组合,但它需要超级简洁,因为它将应用于大量数据。
解决方案
如果您想要一个非常简洁的公式,您可以使用 Apps Script Custom Function。
首先,通过选择 打开绑定脚本Tools > Script editor
,并将以下函数复制到脚本中(检查内联注释):
function FIRST_WORDS(input, number) {
if (input.length <= number) return input;
input = input.substring(0, number + 1);
const lastSpace = input.lastIndexOf(" ");
if (lastSpace === -1) return "";
return input.slice(0, lastSpace);
}
定义后,您可以像使用任何工作表内置函数一样使用此函数。您只需要指定源范围和字符数(在本例中为 30):
参考:
推荐阅读
- javascript - 为什么我的 updatedText 组件没有被渲染?
- shell - 将 XLSX 按 ubuntu 中的行数拆分为多个文件
- python - 从带有坐标的名片图像中提取徽标和文本
- php - 以json格式获取从行到列的记录 laravel
- java - 从 bat 文件或 Jupyter Notebook 运行 Java 实用程序
- azure - 能否在不同区域的 AKS Kubernetes 集群上挂载 NetApp 卷?
- rest - 在 RESTful API 的上下文中,您必须对其应用过滤器的更新/删除资源的正确方法是什么
- ibm-doors - DOORS DXL:如何创建文件夹
- tikz - 如何解决 manim 问题:图像目录中没有文件 .svg
- c++ - 如何显示当前级别的节点?