Programing

문자열에서 선행 쉼표 제거

lottogame 2020. 5. 15. 07:58
반응형

문자열에서 선행 쉼표 제거


다음 문자열이 있습니다.

",'first string','more','even more'"

이것을 Array로 변환하고 싶지만 첫 번째 쉼표로 인해 유효하지 않습니다. 문자열에서 첫 번째 쉼표를 제거하고 유효한 배열로 만들려면 어떻게해야합니까?

나는 이런 식으로 끝내고 싶다 :

myArray  = ['first string','more','even more']

사용할 첫 번째 문자를 제거하려면

var myOriginalString = ",'first string','more','even more'"; 
var myString = myOriginalString.substring(1);

나는 이것이 당신이 찾고있는 결과가 될지 확신하지 못한다. 어쩌면 다음과 같은 것 :

var myString = myOriginalString.substring(1);
var myArray = myString.split(',');

'문자는 여기에서 분할 된 각 문자열의 일부가됩니다.


이 특정한 경우 (제거 할 시작 부분에 항상 단일 문자가 있음)를 원할 것입니다.

str.substring(1)

그러나 쉼표가 있는지 감지하고 쉼표가 있으면 제거하려면 다음과 같이하십시오.

if (str[0] == ',') { 
  str = str.substring(1);
}

var s = ",'first string','more','even more'";

var array = s.split(',').slice(1);

그것은 시작하는 문자열이 실제로 문자열과 같고 문자열의 배열이 아니라고 가정한다고 가정합니다.


짧막 한 농담

str = str.replace(/^,/, '');

돌아 올게요


문자열을 myStr이라고 가정합니다.

// Strip start and end quotation mark and possible initial comma
myStr=myStr.replace(/^,?'/,'').replace(/'$/,'');

// Split stripping quotations
myArray=myStr.split("','");

따옴표없이 문자열이 목록에서 누락 될 수 있고 배열의 해당 위치에 빈 자리가 필요한 경우 강력한 솔루션을 위해 분할을 수동으로 작성해야합니다.


var s = ",'first string','more','even more'";  
s.split(/'?,'?/).filter(function(v) { return v; });

결과 :

["first string", "more", "even more'"]

먼저 작은 따옴표로 묶은 쉼표로 분할
한 다음 , 불결한 (빈) 부분을 필터링하십시오.


문자열을 배열로 바꾸려면 일반적으로 사용합니다 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 함수에 매개 변수를 추가하는 등의 작업을 수행 할 수 있습니다.


s=s.substring(1);

나는 물건을 단순하게 유지하고 싶다.


이것은 후행 쉼표와 공백을 제거합니다

var str = ",'first string','more','even more'";
var trim = str.replace(/(^\s*,)|(,\s*$)/g, '');

참고 URL : https://stackoverflow.com/questions/3923015/remove-leading-comma-from-a-string

반응형