javascript中的字符串解析
string parsing in javascript
本文关键字:字符串 javascript 更新时间:2023-09-26
我有一个这样的字符串:
S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009)R[5](117.1900) V[0](0.0000) Up(22-04-2009)
我需要得到上行值:22-04-2009
尝试
'S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009) R5 V0 Up(22-04-2009)'
.match(/Up'(.+')/g);
它返回匹配值的数组,此处为["Up(22-04-2009)"]
值只能是:
'S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009) R5 V0 Up(22-04-2009)'
.match(/Up'(.+')/g)[0].split(/'(|')/)[1];
或
'S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009) R5 V0 Up(22-04-2009)'
.match(/Up'(.+')/g)[0].replace(/Up'(|')/g,'');
如果您不确定字符串中是否存在"Up(…)":
( 'S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009) R5 V0 Up(22-04-2009)'
.match(/Up'(.+')/g) || ['not found'][0] )
.replace(/Up'(|')/g,'');
extract = yourString.substr( -11,10);
它将从第11个字符开始提取10个字符。
这假设up值总是在输入字符串的末尾。
这个比regex快得多,或者如果只需要一个值,就可以拆分解决方案。
更多示例:http://www.bennadel.com/blog/2159-Using-Slice-Substring-And-Substr-In-Javascript.htm
您可以很容易地match
一个正则表达式,或者从某个(或计算的)位置获得一些substring
,但让我们尝试用正则表达式和split
:来解析
var str = "S(08-01-2008) I[18] ф4(579.1900 UAH) E(05-07-2009)R[5](117.1900) V[0](0.0000) Up(22-04-2009)";
var parts = str.split(/'s*'('s*(.+?)'s*')'s*/);
var map = {};
for (var i=0; i+1<parts.length; i+=2)
map[parts[i]] = parts[i+1];
现在,您可以通过从地图中获得"向上"值
return map["Up"]; // "22-04-2009"
与其他答案相反,如果字符串中没有"Up"值而不是抛出异常,则会导致undefined
。此外,如果需要,还可以从映射中获取其他值,例如map["I[18] ф4"]
就是"I[18] ф4"
。
相关文章:
- 将DOM节点值与字符串Javascript进行比较
- 到UpperCase字符串Javascript中的特定字符索引
- 替换字符串javascript中的所有特殊字符..
- 在数组中查找某些字符串(Javascript)
- 解析特定的字符串Javascript(Node.js)
- 从字符串 JavaScript 中过滤多个正则表达式
- 在字符串 JavaScript 中使用正则表达式替换
- 忽略字符串javascript中的字符
- 如何检查url是否包含多个字符串.Javascript/jquery
- 截断字符串JavaScript
- 计算字符串javascript中的某些单词
- 从'获取本月的最后一天;2015-02-23'字符串(javascript)
- 从字符串javascript中获取键值对
- 从路径字符串 - Javascript 获取所有父路径
- 在字符串Javascript中查找丢失的字母
- AngularJS:如何使所有ng模型都是字符串.JavaScript和长整数
- 将浮点转换为至少有一个小数点的字符串(javascript)
- 替换字符串 JavaScript 中的多个文本
- 检查另一个字符串 JavaScript 中一个字符串是否有任何字符的最佳方法
- 将变量的值包含在 href 字符串 javascript 中