如何使用javascript正则表达式将字符串转换为驼峰大小写?
设备类名称或 设备类名或设备类名或设备类名
应该全部变成:equipmentClassName。
如何使用javascript正则表达式将字符串转换为驼峰大小写?
设备类名称或 设备类名或设备类名或设备类名
应该全部变成:equipmentClassName。
当前回答
简单容易理解这段代码,希望这对你有帮助,我用下面的逻辑解决了我的问题
// This example is for React Js User
const ConverToCamelCaseString = (StringValues)=>
{
let WordsArray = StringValues.split(" ");
let CamelCaseValue = '';
for (let index = 0; index < WordsArray.length; index++)
{
let singleWord = WordsArray[index];
singleWord.charAt(0).toUpperCase();
singleWord =singleWord.charAt(0).toUpperCase() + singleWord.slice(1);
CamelCaseValue +=" "+singleWord;
}
CamelCaseValue = CamelCaseValue.trim();
return CamelCaseValue;
}
下面的例子是针对核心javaScript用户的
function ConverToCamelCaseString (StringValues)
{
let WordsArray = StringValues.split(" ");
let CamelCaseValue = '';
for (let index = 0; index < WordsArray.length; index++)
{
let singleWord = WordsArray[index];
singleWord.charAt(0).toUpperCase();
singleWord =singleWord.charAt(0).toUpperCase() + singleWord.slice(1);
CamelCaseValue +=" "+singleWord;
}
CamelCaseValue = CamelCaseValue.trim();
return CamelCaseValue;
}
console.log(ConverToCamelCaseString("this is my lower case string"));
我希望上面的例子能解决你的问题。
其他回答
简单容易理解这段代码,希望这对你有帮助,我用下面的逻辑解决了我的问题
// This example is for React Js User
const ConverToCamelCaseString = (StringValues)=>
{
let WordsArray = StringValues.split(" ");
let CamelCaseValue = '';
for (let index = 0; index < WordsArray.length; index++)
{
let singleWord = WordsArray[index];
singleWord.charAt(0).toUpperCase();
singleWord =singleWord.charAt(0).toUpperCase() + singleWord.slice(1);
CamelCaseValue +=" "+singleWord;
}
CamelCaseValue = CamelCaseValue.trim();
return CamelCaseValue;
}
下面的例子是针对核心javaScript用户的
function ConverToCamelCaseString (StringValues)
{
let WordsArray = StringValues.split(" ");
let CamelCaseValue = '';
for (let index = 0; index < WordsArray.length; index++)
{
let singleWord = WordsArray[index];
singleWord.charAt(0).toUpperCase();
singleWord =singleWord.charAt(0).toUpperCase() + singleWord.slice(1);
CamelCaseValue +=" "+singleWord;
}
CamelCaseValue = CamelCaseValue.trim();
return CamelCaseValue;
}
console.log(ConverToCamelCaseString("this is my lower case string"));
我希望上面的例子能解决你的问题。
遵循@Scott的可读性方法,做了一点微调
// convert any string to camelCase
var toCamelCase = function(str) {
return str.toLowerCase()
.replace( /['"]/g, '' )
.replace( /\W+/g, ' ' )
.replace( / (.)/g, function($1) { return $1.toUpperCase(); })
.replace( / /g, '' );
}
如果不需要regexp,你可能想看看我很久以前为Twinkle做的以下代码:
String.prototype.toUpperCaseFirstChar = function() {
return this.substr( 0, 1 ).toUpperCase() + this.substr( 1 );
}
String.prototype.toLowerCaseFirstChar = function() {
return this.substr( 0, 1 ).toLowerCase() + this.substr( 1 );
}
String.prototype.toUpperCaseEachWord = function( delim ) {
delim = delim ? delim : ' ';
return this.split( delim ).map( function(v) { return v.toUpperCaseFirstChar() } ).join( delim );
}
String.prototype.toLowerCaseEachWord = function( delim ) {
delim = delim ? delim : ' ';
return this.split( delim ).map( function(v) { return v.toLowerCaseFirstChar() } ).join( delim );
}
我没有做任何性能测试,regexp版本可能更快,也可能不会更快。
基本的方法是用匹配大写或空格的正则表达式分割字符串。然后再把碎片粘回去。技巧将处理各种方式的正则表达式分割是破坏/奇怪的浏览器。有人编写了一个库来解决这些问题;我去找找。
这是链接:http://blog.stevenlevithan.com/archives/cross-browser-split
可靠的高性能示例:
function camelize(text) {
const a = text.toLowerCase()
.replace(/[-_\s.]+(.)?/g, (_, c) => c ? c.toUpperCase() : '');
return a.substring(0, 1).toLowerCase() + a.substring(1);
}
情况下,修改字符:
连字符- 下划线_ 时期。 空间