【问题标题】:javascript custom humanize filterjavascript自定义人性化过滤器
【发布时间】:2014-05-06 04:43:30
【问题描述】:

我坚持为我的项目创建自定义人性化功能。 我的 API 正在重新处理我想要变得更易读的标签,例如:

默认概率

我想把它改成

违约概率

历史日期

改成

历史日期

到目前为止,我已经编写了一个函数,但它只是将字母更改为大写,它不会在每个之前添加空格。这里是:

var humanize = function(property) {
  return property.replace(/_/g, ' ')
  .replace(/(\w+)/g, function(match) {
    return match.charAt(0).toUpperCase() + match.slice(1);
  });
};

我不是常规体验方面的专家,我也不是不知道有任何图书馆可以为我做到这一点。有什么帮助吗?

【问题讨论】:

    标签: javascript regex string humanize


    【解决方案1】:

    你可以使用:

    s = 'probabilityOfDefault';
    r = s[0].toUpperCase() + s.substring(1).replace(/([a-z])(?=[A-Z])/g, "$1 ");
    //=> Probability Of Default
    

    【讨论】:

    • 我有更极端的例子,比如:'Some1e1A3String A1C' 把它改成'Some 1E 1A3 String A1C',你能让它工作吗?
    • 嗯,这大大改变了问题。你可以试试:'Some1e1A3String'.replace(/([a-z])(?=[0-9A-Z])|([0-9])(?=[A-Z][a-z])/g, "$1$2 ")
    猜你喜欢
    • 1970-01-01
    • 2011-10-20
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 2016-04-17
    相关资源
    最近更新 更多