Сопоставьте строку внутри символа двойной кавычки и получите следующие 4 символа - PullRequest
1 голос
/ 04 апреля 2020

Я получил эту строку, которая выглядит следующим образом \"yearBirthday\":1979

Я грубо сопоставляю строку и получаю значение, используя сопоставление строк и строку indexof, чтобы получить значение "1979"

У кого-нибудь есть другие идеи?

Это пример строки, которой я хочу соответствовать

<script id=hdpApolloPreloadedData type="application/json">
        {"apiCache":"{\"VariantQuery{\\\"zpid\\\":28261252}\":{\"property\":{\"zpid\":28261252,\"streetAddress\":\"3415 Willow Ridge Dr\",\"zipcode\":\"77339\",\"city\":\"Humble\",\"state\":\"TX\",\"latitude\":30.058258,\"longitude\":-95.199617,\"price\":318000,\"dateSold\":1560543353000,\"datePriceChanged\":1584715800000,\"bathrooms\":5,\"bedrooms\":5,\"livingArea\":3777,\"yearBuilt\":1979,\"lotSize\":9539,\"homeType\":\"SINGLE_FAMILY\",\"homeStatus\":\"FOR_SALE\",\"photoCount\":67,\"imageLink\":\"https:\/\/photos.zillowstatic.com\/p_g\/ISzbrso7jduzha1000000000.jpg\",\"daysOnZillow\":247,\"isFeatured\":false,\"shouldHighlight\":false,\"brokerId\":16722,\"contactPhone\":\"\",\"zestimate\":306939,\"rentZestimate\":2500,\"listing_sub_type\":{\"is_FSBA\":true},\"priceReduction\":\"$5,000 (Mar 20)\",\"isUnmappable\":false,\"rentalPetsFlags\":64,\"mediumImageLink\":\"https:\/\/photos.zillowstatic.com\/p_c\/ISzbrso7jduzha1000000000.jpg\",\"isPreforeclosureAuction\":false,\"homeStatusForHDP\":\"FOR_SALE\",\"priceForHDP\":318000,\"festimate\":306939,\"priceChange\":-5000,

Но это возвращение является строкой, я буквально загружаю страницу и возвращаю содержание страницы

Что я делаю, так это, я знаю, что, безусловно, ошибаюсь. Я тестирую все на js, на самом деле не JS парень

string_.indexOf(/^"yearBuilt\"$/)

Ответы [ 2 ]

2 голосов
/ 04 апреля 2020

Если вы всегда хотите получить год, вы можете использовать RegEx с match(), что-то вроде:

'\"yearBirthday\":1979'.match(/yearBirthday\":(\d{4})/)[1]

console.log('\"yearBirthday\":1979'.match(/yearBirthday\":(\d{4})/)[1]);
0 голосов
/ 04 апреля 2020

Вы можете использовать матч и захватить группу

let str = `"{\"VariantQuery{\\\"zpid\\\":28261252}\":{\"property\":{\"zpid\":28261252,\"streetAddress\":\"3415 Willow Ridge Dr\",\"zipcode\":\"77339\",\"city\":\"Humble\",\"state\":\"TX\",\"latitude\":30.058258,\"longitude\":-95.199617,\"price\":318000,\"dateSold\":1560543353000,\"datePriceChanged\":1584715800000,\"bathrooms\":5,\"bedrooms\":5,\"livingArea\":3777,\"yearBuilt\":1979,\"lotSize\":9539,\"homeType\":\"SINGLE_FAMILY\",\"homeStatus\":\"FOR_SALE\",\"photoCount\":67,\"imageLink\":\"https:\/\/photos.zillowstatic.com\/p_g\/ISzbrso7jduzha1000000000.jpg\",\"daysOnZillow\":247,\"isFeatured\":false,\"shouldHighlight\":false,\"brokerId\":16722,\"contactPhone\":\"\",\"zestimate\":306939,\"rentZestimate\":2500,\"listing_sub_type\":{\"is_FSBA\":true},\"priceReduction\":\"$5,000 (Mar 20)\",\"isUnmappable\":false,\"rentalPetsFlags\":64,\"mediumImageLink\":\"https:\/\/photos.zillowstatic.com\/p_c\/ISzbrso7jduzha1000000000.jpg\",\"isPreforeclosureAuction\":false,\"homeStatusForHDP\":\"FOR_SALE\",\"priceForHDP\":318000,\"festimate\":306939,\"priceChange\":-5000,\"isListingOwnedByCurrentSignedInAgent\":false,\"timeOnZillow\":1564615080000,\"isListingClaimedByCurrentSignedInUser\":false,\"hiResImageLink\":\"https:\/\/`

let yearBirthday = str.match(/"yearBuilt":(\d+)/)

console.log(yearBirthday[0])
console.log(yearBirthday[1])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...