javascript - 无法使用子字符串从javascript获取所需的值

标签 javascript regex string substring

背景

我目前构建了一个 webApi,用于对 SharePoint 集合进行爬网。我正在通过 csom 获取图像 base64 和所需的所有属性。我正在通过我的 Controller 将所有这些值返回到我正在处理的 word.js 应用程序。

问题

我得到的字符串值是 "width=611px;height=262px;" 。正如您可能会说的那样,我希望从此字符串中获取宽度和高度并将它们分配给单独的变量。

当前方法

我之前有过关于正则表达式和子字符串的对话,众所周知,使用子字符串比正则表达式更有效。但是我想知道在这种情况下正则表达式是否会比使用子字符串更有效?

当前代码

var Widthtest = contentObject.ImageSize[x].replace("width=", '').replace("height=", '').replace("px", '').replace(";", '').trim();

当前的代码问题

  1. 所提供的代码示例将高度和宽度的值合并到一个字符串中。
  2. 所提供的代码示例是基本的,可能会给其他开发人员带来困惑

期望的结果

我的最终目标是拥有两个分别保存宽度和高度值的变量。来自格式与 "width=611px;height=262px;"

相同的字符串
var height = height.value;

var width = width.value;

最佳答案

字符串是固定格式,您只需要知道第一个 ; 的位置 - 从中​​您可以根据字符串中的偏移量提取值。我个人认为没有理由使用正则表达式。

var pos = str.indexOf(";");

var w = str.substr(6, pos - 8);
var h = str.substr(pos + 8, str.length - pos - 11);

关于javascript - 无法使用子字符串从javascript获取所需的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440453/

相关文章:

javascript - 捕获 Bootstrap slider 上的下降值(不是拖动)

JavaScript/jQuery 正则表达式用有效字符替换输入字段

c++ - 使用 regex_search 获取所有匹配项的索引?

string - 如何仅打印字符串中的整数/数字

javascript - 如何保存很长的字符串?

java - 类对象数组中元素的存储不当

javascript - 用 jQuery 替换对象中的值

javascript - $ 不是 b.$scope.SaveUser 的函数

javascript - 如何用JavaScript区分网页中的空白区域和非空白区域?

regex - 正则表达式排除不起作用的字符