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

拉乌尔

我正在从 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>

法赫德图菲尔

我建议您将准确的数据传递给 flatlist。

因此,首先您应该应用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组中获得所需的结果在此处输入图片说明

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);

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用正则表达式获取字符串的特定部分

如何使用正则表达式只获取字符串的特定部分?

如何使用正则表达式选择字符串的一部分并将其放入 Powershell 中的变量中

Java正则表达式-获取字符串的特定部分

正则表达式 - 获取字符串的特定部分

在Python中使用正则表达式提取字符串的特定部分

如何使用正则表达式提取字符串的不匹配部分

如何使用正则表达式提取字符串的各个部分

React Native中的美元格式正则表达式

如何使用正则表达式从列表中提取字符串匹配项?

如何使用正则表达式获取字符串及其价值

如何使用正则表达式仅获取字符串括号中的内容?

如何使用正则表达式从引号中获取字符串

从函数React Native获取字符串结果

与正则表达式匹配后获取字符串的其他部分

正则表达式-C#-获取字符串的不匹配部分

正则表达式-获取字符串的一部分

用于获取字符串部分的正则表达式

使用正则表达式获取字符串中的特定字符并删除未使用的零

在React Native中使用正则表达式对电话进行验证

使用正则表达式从特定位置提取字符串的一部分

使用正则表达式在js / jquery中获取字符串的一部分

使用正则表达式根据条件获取字符串的一部分

如何使用正则表达式删除字符串的特定部分:

在Oracle中使用正则表达式提取字符串部分

需要正则表达式帮助-如何使用正则表达式提取字符串?

使用正则表达式C#获取字符之间的字符串

使用正则表达式在python中的特定符号之后获取字符串中的所有内容

如何使用正则表达式提取字符串的一部分