다음 문자열이 있습니다.
",'first string','more','even more'"
이것을 Array로 변환하고 싶지만 첫 번째 쉼표로 인해 유효하지 않습니다. 문자열에서 첫 번째 쉼표를 제거하고 유효한 배열로 만들려면 어떻게해야합니까?
나는 이런 식으로 끝내고 싶다 :
myArray = ['first string','more','even more']
다음 문자열이 있습니다.
",'first string','more','even more'"
이것을 Array로 변환하고 싶지만 첫 번째 쉼표로 인해 유효하지 않습니다. 문자열에서 첫 번째 쉼표를 제거하고 유효한 배열로 만들려면 어떻게해야합니까?
나는 이런 식으로 끝내고 싶다 :
myArray = ['first string','more','even more']
답변:
이 특정한 경우 (제거 할 시작 부분에 항상 단일 문자가 있음)를 원할 것입니다.
str.substring(1)
그러나 쉼표가 있는지 감지하고 쉼표가 있으면 제거하려면 다음과 같이하십시오.
if (str[0] == ',') {
str = str.substring(1);
}
if (str[0] === ',')
.
문자열을 배열로 바꾸려면 일반적으로 사용합니다 split()
> var s = ",'first string','more','even more'"
> s.split("','")
[",'first string", "more", "even more'"]
이것은 거의 당신이 원하는 것입니다. 이제 첫 두 문자와 마지막 문자를 제거하면됩니다.
> s.slice(2, s.length-1)
"first string','more','even more"
> s.slice(2, s.length-2).split("','");
["first string", "more", "even more"]
난 보통 사용하는 문자열에서 문자열 추출하기 slice()
만 substr()
하고 substring()
또한 일을합니다.
javascript의 함수를 정규식으로 직접 대체하거나 php ltrim (left) 및 rtrim (right)과 같이 도움말 함수를 정의 할 수 있습니다.
1) 교체 :
var myArray = ",'first string','more','even more'".replace(/^\s+/, '').split(/'?,?'/);
2) 도움말 기능 :
if (!String.prototype.ltrim) String.prototype.ltrim = function() {
return this.replace(/^\s+/, '');
};
if (!String.prototype.rtrim) String.prototype.rtrim = function() {
return this.replace(/\s+$/, '');
};
var myArray = ",'first string','more','even more'".ltrim().split(/'?,?'/).filter(function(el) {return el.length != 0});;
char 등을 대체하려는 내용으로 help 함수에 매개 변수를 추가하는 등의 작업을 수행 할 수 있습니다.
myString.slice(1);