숫자만 골라내서 연산하기 질문드립니다.

**검색을 먼저 하는게 옳으나 어떻게 검색해야할지 도무지 감이 잡히지 않아 글을 작성합니다.

**프로그램 배우기 시작한지는 3주가량 되었고 고생고생해서 지식을 얻는게 옳은 길인줄 알지만 너무 만들고싶은 웹프로그램이 머리속에 맴돌아서 질문드립니다, 지름길로 가려해서 죄송합니다.

**바로 답을 내려주시는것을 기대하지는 않습니다, 다만 '어떤 명령어를 검색해서 참고해보세요’등의 방향만 알려주셔도 큰 도움이 될 것 같습니다. 미리 감사드립니다.

정리된 재고를 토대로 단위g당 원가를 계산하는 프로그램을 만들고 싶습니다.

예를들면 500g12병1상자, 단위: 상자, 가격 1000원 이런식인데
일단 문자와 숫자가 함께 나열되어있고, 어떤 재고는 3자리숫자, 어떤재고는 2자리숫자 이런식이며
또 어떤 재고는 상자단위의 단가, 어떤 재고는 병단위의 단가(병, 통, 봉지 등 엉망진창입니다.)로 정리되어있습니다.

정리된 재고를 수정하자니 제 담당도 아니고 이미 정리된 재고가 1000여개라 수정이 어려울듯 합니다.

  • 단위가 '상자’일 경우 앞에 있는 500g의 500과 12병의 12만 떼어내서 연산하기(가격/500*12)
  • 단위가 '병’일 경우 앞에 있는 500g의 500만 떼어내서 연산하기(가격/500)
    와 같은 연산을 하기를 희망합니다.

많은 선배님들의 도움을 기대하겠습니다, 죄송하고 감사합니다.

안녕하세요, 급하게 작성해봤지만,
혹시 이 방법은 어떠신가요?

let test = "500g12병1상자, 단위: 상자, 가격 1000원";
check = test.split(/[:,]/g)[2].trim();
if(check==="상자")
{
    let value = /(\d+)g(\d+)병/.exec(test);
    console.log(value[1], value[2]);
}

test = "500g12병1상자, 단위: 병, 가격 1000원"
check = test.split(/[:,]/g)[2].trim();

if(check==="병")
{
    let value = /(\d+)g/.exec(test);
    console.log(value[1]);
}

실행 결과는 아래처럼 되긴 합니다.

tester12

너무나도 감사합니다, 당장 해볼수가없는데 답변을 보니 얼른 해보고싶어 마음이 급해지네요. 해보고 말씀드리겠습니다!