You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Word Office JS插件中获取搜索目标文本的前一个单词

Word Office JS 获取搜索目标前的单词

针对段落文本"I am stuck here.",要获取搜索目标"here"之前的单词"stuck",可以通过以下步骤实现:

  1. 执行搜索获取目标文本的Range对象
  2. 基于目标Range创建新范围,定位到前一个单词
  3. 提取该范围的文本

完整代码示例:

// 搜索目标文本
var foundItems = context.document.body.search('here', { matchCase: false, matchWholeWord: true });
// 加载搜索结果的items属性
await foundItems.load('items');
await context.sync();

// 处理搜索结果
if (foundItems.items.length > 0) {
    // 获取第一个匹配项的Range
    const targetRange = foundItems.items[0].getRange();
    // 创建新Range用于定位前一个单词
    const prevWordRange = targetRange.getRange();
    
    // 将Range起始位置向左移动1个单词单位
    prevWordRange.moveStart('Word', -1);
    // 将Range结束位置设置为原目标Range的起始位置
    prevWordRange.setEnd(targetRange.start);
    
    // 加载该Range的文本内容
    prevWordRange.load('text');
    await context.sync();
    
    // 提取并处理文本(去除多余空格)
    const previousWord = prevWordRange.text.trim();
    console.log(previousWord); // 输出: stuck
}

关键说明

  • 若存在多个匹配项,可循环遍历foundItems.items逐个处理
  • 使用moveStart方法基于Word单位移动范围,确保准确定位到前一个单词
  • trim()用于移除Range可能包含的空格字符,保证提取结果为纯单词

内容的提问来源于stack exchange,提问作者Gocool Ad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:45:35