繁体   English   中英

如何使用正则表达式获取 XML 导致 javascript

[英]How to use regex for with a fetch XML result in javascript

我正在使用 JavaScript 和 fetch XML 在 HTML 文件中提取用户名:

HTML:

<p class="names"></p>

JavaScript:

var username;

var fetchXml = "fetch version='1.0' output-format='xml-platform'>" +
  "<entity name='systemuser'>" +
    "<attribute name='fullname'>" +
  "</entity>" +
"</fetch>";
DataBase.fetch("systemuser", fetchXml, function (results) {
  if (results.value != null)
    username = results.value[0].fullname;
})
$(".names").html(username);
console.log("username =", username);

这有效,控制台显示以下结果:

username = Potter, Harry

我正在尝试添加一个正则表达式来删除逗号之前的所有字符,以便结果变为:

username = Harry

因此,如果出现上述情况,我将以下内容添加到 JavaScript 中:

  if (results.value != null)
    username = results.value[0].fullname;
    username = new RegExp(^[^_]*, );

但是,它返回错误 JavaScript。 我知道至少语法是错误的,但我不知道如何自己纠正。 对此的任何帮助将不胜感激。 谢谢

你应该改变RegExp(^[^_]*, ); 到正则RegExp(^[^_]*, ); /^[^_]*,/以获得正确的语法。 但我认为你想要的是

  if (results.value != null)
    username = results.value[0].fullname.replace(/^.*,\s*/,"");

从开头( ^ )到最后一个逗号以及该逗号( \s* )之后的所有空格都需要任何内容( .* ),然后什么都不替换

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM