Javascript는 PHP 폭발()에 상당합니다.
다음과 같은 문자열이 있습니다.
00000020C90037:TEMP: 데이터
다음 문자열이 필요합니다.
TEMP: 데이터.
PHP를 사용하면 다음과 같이 할 수 있습니다.
$str = '0000000020C90037:TEMP:data';
$arr = explode(':', $str);
$var = $arr[1].':'.$arr[2];
효과적인 방법explode
JavaScript 문자열은 PHP에서 동작하는 방식입니까?
이것은 PHP 코드에서 직접 변환한 것입니다.
//Loading the variable
var mystr = '0000000020C90037:TEMP:data';
//Splitting it with : as the separator
var myarr = mystr.split(":");
//Then read the values from the array where 0 is the first
//Since we skipped the first element in the array, we start at 1
var myvar = myarr[1] + ":" + myarr[2];
// Show the resulting value
console.log(myvar);
// 'TEMP:data'
String.prototype.explode = function (separator, limit)
{
const array = this.split(separator);
if (limit !== undefined && array.length >= limit)
{
array.push(array.splice(limit - 1).join(separator));
}
return array;
};
PHP의 plaste() 함수를 정확하게 모방해야 합니다.
'a'.explode('.', 2); // ['a']
'a.b'.explode('.', 2); // ['a', 'b']
'a.b.c'.explode('.', 2); // ['a', 'b.c']
헤어질 필요 없어요.및 을 사용할 수 있습니다.
str = str.substr(str.indexOf(':')+1);
하지만 그에 상당하는 것은explode
이 됩니다.
분할하고 싶은가 보군
이것을 시험해 보세요.
arr = str.split (":");
create's object:
// create a data object to store the information below.
var data = new Object();
// this could be a suffix of a url string.
var string = "?id=5&first=John&last=Doe";
// this will now loop through the string and pull out key value pairs seperated
// by the & character as a combined string, in addition it passes up the ? mark
var pairs = string.substring(string.indexOf('?')+1).split('&');
for(var key in pairs)
{
var value = pairs[key].split("=");
data[value[0]] = value[1];
}
// creates this object
var data = {"id":"5", "first":"John", "last":"Doe"};
// you can then access the data like this
data.id = "5";
data.first = "John";
data.last = "Doe";
String.split 사용
"0000000020C90037:TEMP:data".split(':')
php를 좋아하신다면 php를 보세요.JS - JavaScript 폭발
또는 일반 JavaScript 기능: '
var vInputString = "0000000020C90037:TEMP:data";
var vArray = vInputString.split(":");
var vRes = vArray[1] + ":" + vArray[2]; `
console.log(('0000000020C90037:TEMP:data').split(":").slice(1).join(':'))
출력:TEMP:data
- .syslog()는 문자열을 여러 부분으로 분해합니다.
- .temply()는 어레이를 문자열로 재구성합니다.
- 첫 번째 항목이 없는 어레이를 원하는 경우 .timeout(1)을 사용합니다.
John Hartsock을 비판할 의도는 없지만, 만약 주어진 코드를 사용하는 사람마다 구분자 수가 다를 수 있다면, 나는 공식적으로 이것을 대신 사용할 것을 제안합니다.
var mystr = '0000000020C90037:TEMP:data';
var myarr = mystr.split(":");
var arrlen = myarr.length;
var myvar = myarr[arrlen-2] + ":" + myarr[arrlen-1];
var str = '0000000020C90037:TEMP:data'; // str = "0000000020C90037:TEMP:data"
str = str.replace(/^[^:]+:/, ""); // str = "TEMP:data"
psycho brm의 답변에 약간의 추가 사항(IE에서는 그의 버전이 작동하지 않습니다<=8).이 코드는 크로스 브라우저에 대응하고 있습니다.
function explode (s, separator, limit)
{
var arr = s.split(separator);
if (limit) {
arr.push(arr.splice(limit-1, (arr.length-(limit-1))).join(separator));
}
return arr;
}
슬라이스, 스플릿, 조인 코드 한 줄만 쓰면 돼
let arrys = (str.split(":").slice(1)).join(":");
이 투고가 꽤 오래되었다는 것은 알지만, 몇 년 동안 도움이 된 기능을 추가하는 편이 낫겠다고 생각했습니다.위와 같이 스플릿을 사용하여 폭발 기능을 리메이크하면 어떨까요?여기 있습니다.
function explode(str,begin,end)
{
t=str.split(begin);
t=t[1].split(end);
return t[0];
}
이 함수는 두 값 사이의 값을 가져오려고 할 때 잘 작동합니다.예:
data='[value]insertdataherethatyouwanttoget[/value]';
두 [값] "태그" 사이에서 정보를 얻으려면 다음과 같은 함수를 사용할 수 있습니다.
out=explode(data,'[value]','[/value]');
//Variable out would display the string: insertdataherethatyouwanttoget
그러나 위의 예시와 같은 편리한 "태그"가 없다고 가정해 보겠습니다.상관없어.
out=explode(data,'insert','wanttoget');
//Now out would display the string: dataherethatyou
와나가 그걸 봤나?여기를 클릭해 주세요.
var str = "helloword~this~is~me";
var exploded = str.splice(~);
분해된 변수는 어레이를 반환하고 어레이 요소에 액세스할 수 있습니다.참으로 분해된 [nth] 여기서 nth는 취득할 값의 인덱스입니다.
이렇게 해봐.
ans = str.split (":");
그리고 이 끈의 두 부분을 사용할 수 있습니다.
ans[0] 및 ans[1]
독자적인 함수를 정의하는 경우는, 다음과 같이 시험해 주세요.
function explode (delimiter, string, limit) {
if (arguments.length < 2 ||
typeof delimiter === 'undefined' ||
typeof string === 'undefined') {
return null
}
if (delimiter === '' ||
delimiter === false ||
delimiter === null) {
return false
}
if (typeof delimiter === 'function' ||
typeof delimiter === 'object' ||
typeof string === 'function' ||
typeof string === 'object') {
return {
0: ''
}
}
if (delimiter === true) {
delimiter = '1'
}
// Here we go...
delimiter += ''
string += ''
var s = string.split(delimiter)
if (typeof limit === 'undefined') return s
// Support for limit
if (limit === 0) limit = 1
// Positive limit
if (limit > 0) {
if (limit >= s.length) {
return s
}
return s
.slice(0, limit - 1)
.concat([s.slice(limit - 1)
.join(delimiter)
])
}
// Negative limit
if (-limit >= s.length) {
return []
}
s.splice(s.length + limit)
return s
}
출처: http://locutus.io/php/strings/explode/
언급URL : https://stackoverflow.com/questions/4514323/javascript-equivalent-to-php-explode
'sourcecode' 카테고리의 다른 글
mysql이 원격 연결을 설정할 수 없습니다. (0) | 2022.09.25 |
---|---|
사전 키 이름 바꾸기 (0) | 2022.09.25 |
PHP를 사용하여 JSON용 어레이를 만드는 방법 (0) | 2022.09.24 |
정수를 선행 0 문자열로 포맷하는 가장 좋은 방법? (0) | 2022.09.24 |
Android - 사용자 정의(복합) 구성 요소 작성 (0) | 2022.09.24 |