Javascript 如何使用正则表达式获取阿拉伯字符串中的单词列表?
我有这样的阿拉伯文本: 㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈 我想从它们中解析文本(不带Javascript 如何使用正则表达式获取阿拉伯字符串中的单词列表?,javascript,jquery,Javascript,Jquery,我有这样的阿拉伯文本: 㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈 我想从它们中解析文本(不带،并删除空格),因此 㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈 例如: var m = 'احوال العدد، فی اللغة، العربیة' m.match(?); 有人能帮我在这种情况下使用正确的正则表达式吗?除非必须,否则我不会使用正则表达式。对于简单的情况,其他选项通常更快 例如,如果您只想在单个字符的实例上拆分,请尝试以下操作,而不是使用正则表达式: var matches = m.split(" "); 你说:
،
并删除空格),因此
㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈㶈
例如:
var m = 'احوال العدد، فی اللغة، العربیة'
m.match(?);
有人能帮我在这种情况下使用正确的正则表达式吗?除非必须,否则我不会使用正则表达式。对于简单的情况,其他选项通常更快 例如,如果您只想在单个字符的实例上拆分,请尝试以下操作,而不是使用正则表达式:
var matches = m.split(" ");
你说:
。。。在之后
不知道你所说的“在之后”
是什么意思
把它也拿走?
如果您也想删除它,string.split
仍然可以处理:
var matches = m.split("، "); // Note that it seems to need LTR ordering...
您得到的输出看起来与您在问题中所说的一样:
“اح㶊㶊عددد”“فیالغة”
“العبیة” 仅在找到该字符后返回匹配项? 如果您只想返回在该字符首次出现后找到的匹配项,我会使用and 下面是一些可以实现这一点(和演示-)的代码:
var m='
var matchStartIndex=m.indexOf(“،”)+1;
var matches=matchStartIndex>0&&matchStartIndex ”);
}
这里的额外代码用于错误处理,以防找不到،
,或者后面没有字符
您得到的输出有点奇怪(第一个字符串是空的),因为该字符串以一个“
”开头:
''“فی”
“الغة،”
“العبیة”
如果要拆分字符串,请使用
.split
,而不是.match
>>> var m = 'احوال العدد، فی اللغة، العربیة';
>>> res = m.split(/،\s*/)
["احوال العدد", "فی اللغة", "العربیة"]
>>> res[0]
"احوال العدد"
没有正则表达式:
var str = 'احوال العدد، فی اللغة، العربیة';
var arr = str.split('،');
arr = $.map(arr, function(val, i) {
return val.trim();
});
使用RegExp:
x=m.match(/([\u0600-\u060B\u060D-\u06FF][\u0600-\u060B\u060D-\u06FF\s]+[\u0600-\u060B\u060D-\u06FF])/g);
小提琴:我希望这能帮助你擦除“,”: 结果可以在这里看到:
请您考虑将标题改进为更具描述性的问题吗?我需要一个jQuery解决方案,用于输出<代码> ''.''.''.''.''.''.''.''.'/''.'/'>代码>怎么样?@KateWintz:对不起,我当时脑子里是C模式:)被删除了,所以我现在不应该吓跑其他答案…@Merlyn Morgan Graham-好的,没问题。我想Kate想要一个javascript解决方案,而不是C模式。我把我的答案改成javascript并取消删除:)
x=m.match(/([\u0600-\u060B\u060D-\u06FF][\u0600-\u060B\u060D-\u06FF\s]+[\u0600-\u060B\u060D-\u06FF])/g);
var m = 'احوال العدد, فی اللغة, العربیة';
var strReplaceAll = m;
var intIndexOfMatch = strReplaceAll.indexOf( "," );
// Loop over the string value replacing out each matching
// substring.
while (intIndexOfMatch != -1){
// Relace out the current instance.
strReplaceAll = strReplaceAll.replace( ',',' ' )
// Get the index of any next matching substring.
intIndexOfMatch = strReplaceAll.indexOf( "," );
}
//print out the result
document.write(strReplaceAll);