我是JavaScript新手。我有一个变量:

var externalClientDataBody = {"hotelCodes":"CUNMXSAKU_3d,CUNMXMAYA_4d"};


我想在分隔符“ _”上拆分它。我希望我的输出看起来像这样:

var externalClientDataBody = {"hotelCodes":"CUNMXSAKU,CUNMXMAYA"};


我可以忽略"_3d _4d",并希望像"CUNMXSAKU,CUNMXMAYA"这样将字符串逗号分隔。有什么办法可以使用RegExp做到这一点?

最佳答案

如果您的目标是删除_及其后到单词末尾的所有内容,则可以通过匹配_后跟“单词”字符(\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>

09-17 00:55