그래서 인덱스 또는 분할 방법을 사용하여 2 자에서 하위 문자열을 얻는 방법을 알고 있습니다. 그러나 나는 다음과 같은 비슷한 이름을 가진 많은 문자열 시나리오에 갇혀 있습니다.
"2020-12-09-name_of_this_mission_num1_mission1_fileName_something"
"2020-12-09-name_of_this_mission_num1_mission12_fileName_something"
"2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else"
"mission #"부분 만 추출하는 방법에 대해 고민하고있는 것처럼 때로는 이름이 다를 수 있으므로 길이가 다르고 때로는 이름이 fileName과 동일하기 때문입니다. 나는 또한 "_"의 색인을 사용하는 것에 대해 생각했지만, 여러 개의 "_"가 있고 이름이 다른 경우 다른 색인으로 끝날 수 있습니다.
누구든지 이것에 대한 힌트를 줄 수 있습니까?
#이 가변 자릿수라고 가정하고 미션 ##을 얻는 가장 쉬운 방법은 정규식을 사용하는 것입니다.
기본 정규식은 /mission\d+/
문자열 "mission"
다음에 하나 이상의 숫자 와 일치하는 것 입니다.
다음과 같이 입력했다고 가정합니다.
const missionsTexts = [
"2020-12-09-name_of_this_mission_num1_mission1_fileName_something",
"2020-12-09-name_of_this_mission_num1_mission12_fileName_something",
"2020-12-09-name_of_this_mission_num23_mission1_fileName_something_else"
];
mission#
다음 알고리즘을 사용하여 이들을 배열로 변환 할 수 있습니다 .
const missions = missionsTexts.map(missionText => missionText.match(/mission\d+/g)[0]);
이것은 mission#
missionText 당 하나만 있다고 가정합니다 . g
수정은 반드시 정규식 찾은 첫 번째 숫자 뒤에 경기를 만들지 않습니다 만드는 데 사용됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다