gpt4 book ai didi

javascript - 如何使用正则表达式获取字符串的特定部分并将其放入平面列表中(react-native)

转载 作者:行者123 更新时间:2023-12-01 00:45:49 27 4
gpt4 key购买 nike

我正在从 API 获取信息。其中之一是其中包含多个日期的字符串,但日期周围有许多需要删除的其他字符。

我尝试过使用正则表达式来删除不需要的字符,但我对此完全陌生。 this.state.data 包含来自 API 的所有数据,而 content.rendered 包含我正在讨论的字符串。

我从 API 获取的字符串:

"<p>[[&#8220;10 februari&#8221;],[&#8220;17 februari&#8221;],[&#8220;10 maart&#8221;],[&#8220;17 maart&#8221;],[&#8220;24 maart&#8221;],[&#8220;31 maart&#8221;],[&#8220;7 april&#8221;],[&#8220;14 april&#8221;],[&#8220;5 mei&#8221;],[&#8220;12 mei&#8221;],[&#8220;19 mei&#8221;],[&#8220;26 mei&#8221;],[&#8220;2 juni&#8221;],[&#8220;16 juni&#8221;],[&#8220;23 juni&#8221;]]</p>\n" 

这是我用来显示数据的代码

var regex = /\[(.*?)\]/g;

<FlatList
data={[this.state.data]}
renderItem={({item})=>
<View>
<Text style={styles.text}>
content: {t(item, 'content.rendered').safeString.replace(regex, "$1")}
</Text>
</View>
}/>

我想要的是它只显示日期; 10 februari, 17 februari, 10 maart, 17 maart, 24 maart, 31 maart, 7 april, 14 april, 5 mei, 12 mei, 19 mei, 26 mei, 2 juni, 16 juni, 23 juni

但它显示的是; <p>[&#8220;10 februari&#8221;,&#8220;17 februari&#8221;,&#8220;10 maart&#8221;,&#8220;17 maart&#8221;,&#8220;24 maart&#8221;,&#8220;31 maart&#8221;,&#8220;7 april&#8221;,&#8220;14 april&#8221;,&#8220;5 mei&#8221;,&#8220;12 mei&#8221;,&#8220;19 mei&#8221;,&#8220;26 mei&#8221;,&#8220;2 juni&#8221;,&#8220;16 juni&#8221;,&#8220;23 juni&#8221;]</p>

最佳答案

我建议您将准确的数据传递给平面列表。

所以,首先您应该申请regex在您的数据上仅获取日期。

您可能必须使用var regex = ;(\d{0,2}.[a-zA-Z]+)仅从此字符串中获取日期。 "<p>[[&#8220;10 februari&#8221;],[&#8220;17 februari&#8221;],[&#8220;10 maart&#8221;],[&#8220;17 maart&#8221;],[&#8220;24 maart&#8221;],[&#8220;31 maart&#8221;],[&#8220;7 april&#8221;],[&#8220;14 april&#8221;],[&#8220;5 mei&#8221;],[&#8220;12 mei&#8221;],[&#8220;19 mei&#8221;],[&#8220;26 mei&#8221;],[&#8220;2 juni&#8221;],[&#8220;16 juni&#8221;],[&#8220;23 juni&#8221;]]</p>\n"

看看Match Information在SS中,您将在first中得到所需的结果团体。 enter image description here

var str = "<p>[[&#8220;10 februari&#8221;],[&#8220;17 februari&#8221;],[&#8220;10 maart&#8221;],[&#8220;17 maart&#8221;],[&#8220;24 maart&#8221;],[&#8220;31 maart&#8221;],[&#8220;7 april&#8221;],[&#8220;14 april&#8221;],[&#8220;5 mei&#8221;],[&#8220;12 mei&#8221;],[&#8220;19 mei&#8221;],[&#8220;26 mei&#8221;],[&#8220;2 juni&#8221;],[&#8220;16 juni&#8221;],[&#8220;23 juni&#8221;]]</p>\n";

function getDates(str) {
var arr = str.split(',');
var dates = [];
arr.forEach(function(e) {
dates.push(e.match(/;(\d{0,2}.[a-zA-Z]+)/g)[0].replace(';',''));
});
return dates;
}

getDates(str);

我已经为您编写了一个函数,它将为您提供所需的数据。祝你好运!

关于javascript - 如何使用正则表达式获取字符串的特定部分并将其放入平面列表中(react-native),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57374758/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com