我是JavaScript新手。我有一个变量:
var externalClientDataBody = {"hotelCodes":"CUNMXSAKU_3d,CUNMXMAYA_4d"};
我想将它拆分为分隔符“_”。我希望我的输出看起来像这样:
var externalClientDataBody = {"hotelCodes":"CUNMXSAKU,CUNMXMAYA"};
我可以忽略"_3d _4d"
,并希望将我的字符串逗号分隔为"CUNMXSAKU,CUNMXMAYA"
。有没有办法用RegExp做到这一点?
答案 0 :(得分:4)
如果您的目标是删除_
及其后面的任何内容,则可以通过匹配_
后跟" word"字符(\w
)并替换为""
:
str = str.replace(/_\w+/g, '');
直播示例:
var externalClientDataBody = {"hotelCodes":"CUNMXSAKU_3d,CUNMXMAYA_4d"};
externalClientDataBody.hotelCodes = externalClientDataBody.hotelCodes.replace(/_\w+/g, '');
snippet.log(externalClientDataBody.hotelCodes);

<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
答案 1 :(得分:0)
这应该可以解决问题:
var regex = new RegExp('(^[^_]+)')
var input = 'dasddffsdff_d3';
var result = regex.exec(input);
//result = 'dasddffsdff'