如何通过使用javascript有选择地添加或删除字符来转换字符串
How to transform a string by selectively adding or removing characters using javascript
我正在努力解决以下问题:
假设我有一个字符串'foo.bar.baz'
。我想把它转换成foo[bar][baz]
是否有一个整洁的方法来做到这一点使用JavaScript?
split
和join
很容易:
var arr = 'foo.bar.baz'.split('.');
arr.shift() + '[' + arr.join('][') + ']'; // "foo[bar][baz]"
你没有给出足够的边缘情况选项(例如,如果你有一个字符串,即foo
)。返回foo[]
还是foo
?)。
不管怎样,这是我对这个问题的回答:
function greatFunc(txt) {
var ls = txt.split('.');
if (ls.length === 1) { // edge case here!
return txt;
}
return ls[0] + '[' + ls.splice(1).join('][') + ']';
}
greatFunc('foo.bar.baz') // foo[bar][baz]
greatFunc('foo.bar.baz.kop.pop') // foo[bar][baz][kop][pop]
greatFunc('foo') // foo or foo[] if you delete the if clause.
当然有其他人提到的正则表达式解决方案!
我假设您正在尝试转换具有'的字符串。
var str = 'foo.bar.baz';
var splittedArray = str.split('.');
var result = splittedArray[0];
for(var i = 1; i < splittedArray.length; i++) {
result += '[' + splittedArray[i] + ']';
}
使用正则表达式:
var str = 'foo.bar.baz';
str = str.replace(/'.([a-z]{3})/g, "[$1]");
相关文章:
- 为什么以下正则表达式不删除 ## 字符
- javascript使用for循环从多个字符串中删除字符
- 使用Jquery Keydown函数删除字符
- 使用 Javascript 正则表达式删除字符后的所有内容
- 如何在 DOM 加载后使用 JavaScript 或 JQuery 从 href 属性中删除字符
- nl2br jQuery函数从每行中删除字符
- 如何通过javascript在文本区域中插入/删除字符
- 如何从 html 属性值中删除字符
- 如果文本以这些字符开头或结尾,请删除字符
- 如何按位置号从字符串中删除字符
- 单击按钮时删除字符,除非输入值为0
- 删除字符“”$"从产品的角度来看
- 如何从字符串中删除字符
- 只有当JavaScript中的子字符串长度大于x时,才从子字符串中删除字符
- 由于Javascript,Backspace(删除字符)在Firefox中无法正常工作
- JavaScript删除字符前的所有文本
- 如何在用户输入javascript时删除字符
- 从字符串javascript算法中删除字符
- 从javascript数组内的对象中删除字符
- JSON 字符串删除字符