查找前缀和后缀之间的每个子字符串的Javascript解决方案
我有一个以下格式的字符串查找前缀和后缀之间的每个子字符串的Javascript解决方案,javascript,node.js,regex,Javascript,Node.js,Regex,我有一个以下格式的字符串 Hello this#result1#是一个示例#result2#字符串,包含很多#和#result3#我需要找到#之间的所有值。 我需要基于javascript或nodejs的解决方案,它只能返回['result1','result2','result3'] 规则: 预期结果之间没有间隔 预期结果之间没有# 它应该排除像['result1#是一个示例#result2#包含大量字符串,'result1#是一个示例']这样的结果。 下面的代码段应该可以工作: let s
Hello this#result1#是一个示例#result2#字符串,包含很多#和#result3#我需要找到#之间的所有值。
我需要基于javascript或nodejs的解决方案,它只能返回['result1','result2','result3']
规则:
#
['result1#是一个示例#result2#包含大量字符串,'result1#是一个示例']这样的结果。
下面的代码段应该可以工作:
let str=“Hello this#result1#是一个样本#result2#字符串,包含大量的#和#result3#我需要找到#之间的所有值”;
让标识符=“#”;
函数getsubstring(str,标识符){
让结果=[];
让splittedItems=str.split(标识符);
splittedItems.forEach(
职能(项目){
如果(item.length>1&&item.indexOf(“”)=-1){
结果:推送(项目);
}
}
);
返回结果;
}
write(getsubstring(str,identifier))代码>
在行动中看到它
var str='Hello this#result1#是一个样本#result2#字符串,包含大量#和#result3#我需要找到#之间的所有值';
log(str.match(/#[^#\s]+#/g))代码>您的问题可能有许多特殊情况,如果没有关于您尝试了什么以及如何失败的详细信息,很难给出明确的答案。
您可以尝试从以下内容开始:
var input = 'Hello this #result1# is a sample #result2# string with a lot of # and #result3# i need to find all the values between #';
output = input.match(/#[A-Za-z0-9]+#/g);
console.log(output); //["#result1#", "#result2#", "#result3#"]
[A-Za-z0-9]
匹配任何大写字母(A-Z
)、小写字母(A-Z
)和数字(0-9
)
+
表示前面的模式应至少出现一次
g
表示全局,因此匹配字符串中所有出现的模式
这应该会让你走起来。分享你的研究成果对每个人都有帮助。告诉我们您尝试了什么,以及为什么它不能满足您的需求。这表明你花了时间来帮助自己,它使我们避免重复显而易见的答案,最重要的是,它帮助你得到一个更具体和相关的答案!另外,这是一项非常简单的任务,应该很容易找到,只需花费最少的精力搜索SO,或者搜索整个web。虽然此代码片段可以解决问题,但确实有助于提高您的帖子质量。请记住,您将在将来为读者回答这个问题,而这些人可能不知道您的代码建议的原因。感谢您的建议:)因为您提供了正则表达式的解释,所以进行了投票。
var input = 'Hello this #result1# is a sample #result2# string with a lot of # and #result3# i need to find all the values between #';
output = input.match(/#[A-Za-z0-9]+#/g);
console.log(output); //["#result1#", "#result2#", "#result3#"]