JavaScript:从表配置字符串中提取列标题
JavaScript: extract column headers from table configuration string
我需要帮助在Javascript中获取一些字符串操作。我有一个样本字符串作为
var str = 'Supplier^supp^left^string*Spend (USD MM)^spend^right^number^5';
该字符串基本上是一个portlet的配置,包含两列,即Supplier和Spend。。我必须从这个字符串中获取列名。每个星都遵循一个新的列配置。在这种情况下,只有2列的配置,因此在我的字符串中只有1颗星。假设如果有2列,字符串将看起来像
var str = 'Supplier (Name)^Supplier^left^string*Spend (USD MM)^Spend^right^number^5*Location (Area)^Loc^right^string^*Category ^Categ^right^string';
因此,根据上面的字符串,我编写了一个逻辑,以获得所需的字符串在第二个插入符号"Spend"之后,我想要"Supplier"(第一列数据名称,而不是"Supplier(name)",这是一个显示名称),(移动到星号后面的第二列)。类似地,"Loc"(第三列)和"Categ"(第四列)。有人能帮我做到这一点吗?这是我写的
function getColNamesfromConfig(str) {
var i = str.indexOf('^');
var tmpCatStr = str.slice(i + 1);
var catField = tmpCatStr.slice(0, tmpCatStr.indexOf('^'));
var j = tmpCatStr.indexOf('*');
var tmpStr = tmpCatStr.slice((j + 1));
var k = tmpStr.slice(tmpStr.indexOf('^') + 1);
var valField = k.slice(0, k.indexOf('^'));
return { categoryField: catField, valueField: valField };
}
您可以使用split()
str.split('*')[0].split('^')[1]
上面的代码会给你
Supplier
检查以下链接
或者使用正则表达式:
function headers(s) {
var re = /([^^]+)(?:[^*]+[*]?)?/g, names=[];
while (match = re.exec(s)) {
names.push(match[1]);
}
return names;
}
输出["Supplier","Spend (USD MM)","Location (Area)","Category "]
和["Supplier (Name)","Spend (USD MM)","Location (Area)","Category "]
对于您的两个示例
请参阅实际操作(JSFiddle)。
相关文章:
- CSS-如何定位内容数据标题
- 在PHP中使用javascript更改页面标题'if'
- 在数据提取完成之前进行页面渲染
- Brightcove获取/显示HTML中的当前视频标题和描述
- React组件-设置页面标题
- jQuery动态更改标题
- HighCharts长标题文本在某些元素上重叠
- 将行添加到具有固定标题的HTML表中
- CKEditor v4:自制插件中对话框的动态标题
- JavaScript正则表达式来提取标题内容
- JavaScript:从表配置字符串中提取列标题
- 从视频名称中提取电影标题
- 使用 Javascript 从 2 个数组中提取值并删除重复的“标题”
- 有没有一种方法可以让我在博客文章中提取第一张图片,并将其作为标题放在博客文章里
- 从句子中提取艺术家和歌曲标题的技巧
- 使用Tumblr API从帖子标题中提取第一句话
- 如何从其他人那里提取标题,图像'在自己的网站上发表博客文章
- 提取CSV标题并显示在HTML页面上
- 提取Flickr图片标题
- 提取部分标题标签