문자열을 분할하여 특정 문자를 구분하려면 어떻게 해야 하나요?
이 끈이 있어요.
'john smith~123 Street~Apt 4~New York~NY~12345'
JavaScript를 사용하여 이를 해석하는 가장 빠른 방법은 무엇입니까?
var name = "john smith";
var street= "123 Street";
//etc...
JavaScript 기능 포함:
var input = 'john smith~123 Street~Apt 4~New York~NY~12345';
var fields = input.split('~');
var name = fields[0];
var street = fields[1];
// etc.
ECMAScript6에 준거ES6
어레이를 파괴하는 것이 가장 좋은 방법입니다.
const input = 'john smith~123 Street~Apt 4~New York~NY~12345';
const [name, street, unit, city, state, zip] = input.split('~');
console.log(name); // john smith
console.log(street); // 123 Street
console.log(unit); // Apt 4
console.log(city); // New York
console.log(state); // NY
console.log(zip); // 12345
입력 문자열에 추가 항목이 있을 수 있습니다.이 경우 rest 연산자를 사용하여 나머지 배열을 가져오거나 그냥 무시할 수 있습니다.
const input = 'john smith~123 Street~Apt 4~New York~NY~12345';
const [name, street, ...others] = input.split('~');
console.log(name); // john smith
console.log(street); // 123 Street
console.log(others); // ["Apt 4", "New York", "NY", "12345"]
값에 대한 읽기 전용 참조를 가정하고 이 값을 사용했습니다.const
선언.
ES6를 즐겨보세요!
jQuery는 필요 없습니다.
var s = 'john smith~123 Street~Apt 4~New York~NY~12345';
var fields = s.split(/~/);
var name = fields[0];
var street = fields[1];
이것이 가장 간단한 방법은 아니지만 다음과 같이 할 수 있습니다.
var addressString = "~john smith~123 Street~Apt 4~New York~NY~12345~",
keys = "name address1 address2 city state zipcode".split(" "),
address = {};
// clean up the string with the first replace
// "abuse" the second replace to map the keys to the matches
addressString.replace(/^~|~$/g).replace(/[^~]+/g, function(match){
address[ keys.unshift() ] = match;
});
// address will contain the mapped result
address = {
address1: "123 Street"
address2: "Apt 4"
city: "New York"
name: "john smith"
state: "NY"
zipcode: "12345"
}
파괴를 이용한 ES2015 업데이트
const [address1, address2, city, name, state, zipcode] = addressString.match(/[^~]+/g);
// The variables defined above now contain the appropriate information:
console.log(address1, address2, city, name, state, zipcode);
// -> john smith 123 Street Apt 4 New York NY 12345
jQuery에 적합한 태스크가 아니기 때문에 JavaScript의 기판 또는 분할을 조사해야 합니다.
스플라이터가 발견된 경우만
분할할 것이다
그렇지 않으면 동일한 문자열을 반환합니다.
function SplitTheString(ResultStr) { if (ResultStr != null) { var SplitChars = '~'; if (ResultStr.indexOf(SplitChars) >= 0) { var DtlStr = ResultStr.split(SplitChars); var name = DtlStr[0]; var street = DtlStr[1]; } } }
가장 쉬운 방법은 다음과 같습니다.
var address = theEncodedString.split(/~/)
var name = address[0], street = address[1]
split()
자바스크립트의 메서드는 문자열을 배열로 변환하는 데 사용됩니다.분할할 때 하나의 선택적 인수를 문자로 사용합니다.당신의 경우(~).
splitOn을 건너뛰면 배열의 0번째 위치에 문자열이 배치됩니다.
splitOn이 "일 경우 단일 문자 배열을 변환합니다.
고객님의 경우:
var arr = input.split('~');
에서 이름을 알게 될 것이다.arr[0]
그리고 거리.arr[1]
.
자세한 설명은 JavaScript의 Split on을 참조하십시오.
사용할 수 있습니다.split
텍스트를 분할합니다.
대신, 다음을 사용할 수도 있습니다.match
다음과 같이
var str = 'john smith~123 Street~Apt 4~New York~NY~12345';
matches = str.match(/[^~]+/g);
console.log(matches);
document.write(matches);
정규식[^~]+
를 제외한 모든 문자와 일치합니다.~
일치하는 항목을 배열로 반환합니다.그런 다음 일치 항목을 추출할 수 있습니다.
예를 들어 다음과 같습니다.
var divided = str.split("/~/");
var name=divided[0];
var street = divided[1];
아마 가장 쉬울 것이다.
잭이 이걸 맞혔어그의 방법을 사용하면 겉으로 보기에 "다차원" 배열도 만들 수 있습니다.JSFiddle http://jsfiddle.net/LcnvJ/2/에서 간단한 예를 작성했습니다.
// array[0][0] will produce brian
// array[0][1] will produce james
// array[1][0] will produce kevin
// array[1][1] will produce haley
var array = [];
array[0] = "brian,james,doug".split(",");
array[1] = "kevin,haley,steph".split(",");
이것.string.split("~")[0];
일을 끝내다.
소스: String.protype.split()
카레와 기능 구성을 사용한 또 다른 기능적 접근법.
첫 번째는 분할 함수입니다.우리는 이것을 만들고 싶다."john smith~123 Street~Apt 4~New York~NY~12345"
여기에["john smith", "123 Street", "Apt 4", "New York", "NY", "12345"]
const split = (separator) => (text) => text.split(separator);
const splitByTilde = split('~');
이제 우리의 전문화된 기술을 사용할 수 있습니다.splitByTilde
기능.예제:
splitByTilde("john smith~123 Street~Apt 4~New York~NY~12345") // ["john smith", "123 Street", "Apt 4", "New York", "NY", "12345"]
첫 번째 요소를 얻으려면list[0]
교환입니다.구축합시다.first
기능:
const first = (list) => list[0];
알고리즘은 콜론으로 분할한 후 지정된 목록의 첫 번째 요소를 가져옵니다.그래서 우리는 그 기능들을 구성해서 우리의 마지막을 만들 수 있다.getName
★★★★★★★★★★★★★★★★★★★★의 구축compose
reduce
:
const compose = (...fns) => (value) => fns.reduceRight((acc, fn) => fn(acc), value);
이제 해서 작곡을 하고 있습니다.splitByTilde
★★★★★★★★★★★★★★★★★」first
★★★★★★★★★★★★★★★★★★.
const getName = compose(first, splitByTilde);
let string = 'john smith~123 Street~Apt 4~New York~NY~12345';
getName(string); // "john smith"
플레인 Javascript로 시험해 보다
//basic url=http://localhost:58227/ExternalApproval.html?Status=1
var ar= [url,statu] = window.location.href.split("=");
JavaScript:문자열을 배열 JavaScript로 변환
var str = "This-javascript-tutorial-string-split-method-examples-tutsmake."
var result = str.split('-');
console.log(result);
document.getElementById("show").innerHTML = result;
<html>
<head>
<title>How do you split a string, breaking at a particular character in javascript?</title>
</head>
<body>
<p id="show"></p>
</body>
</html>
https://www.tutsmake.com/javascript-convert-string-to-array-javascript/
쉼표 분할 질문은 이 질문과 중복되므로 여기에 추가합니다.
뒤에 자주 하는 경우)도할 수 .replace
split
이렇게요.
var items = string.replace(/,\s+/, ",").split(',')
이것은 파괴적인 대답만큼 좋지는 않지만, 12년 전에 이 질문을 받았기 때문에, 저는 12년 전에도 먹혔을 대답을 하기로 결심했습니다.
function Record(s) {
var keys = ["name", "address", "address2", "city", "state", "zip"], values = s.split("~"), i
for (i = 0; i<keys.length; i++) {
this[keys[i]] = values[i]
}
}
var record = new Record('john smith~123 Street~Apt 4~New York~NY~12345')
record.name // contains john smith
record.address // contains 123 Street
record.address2 // contains Apt 4
record.city // contains New York
record.state // contains NY
record.zip // contains zip
이 코드 사용 --
function myFunction() {
var str = "How are you doing today?";
var res = str.split("/");
}
언급URL : https://stackoverflow.com/questions/96428/how-do-i-split-a-string-breaking-at-a-particular-character
'source' 카테고리의 다른 글
clang 오류: unknown 인수: '-mno-madd'(패키지 설치 실패) (0) | 2022.09.06 |
---|---|
주문을 유지하면서 목록에서 중복 항목을 제거하려면 어떻게 해야 합니까? (0) | 2022.09.06 |
URL 인코딩에서는 "&"(앰퍼샌드)를 "&" HTML 엔티티로 간주합니다. (0) | 2022.09.06 |
두 개의 Numpy 어레이를 동시에 섞는 더 좋은 방법 (0) | 2022.09.06 |
예기치 않은 토큰 내보내기 가져오기 (0) | 2022.09.06 |