当前位置: 首页 > 知识库问答 >
问题:

如何在阿拉伯语中提取两个固定字符串之间的数字?

吕越彬
2023-03-14

我有一个字符串的格式:

خصم بقيمة 108 بتاريخ 31-01-2021

我想替换两个词之间的数字:بقيمة

我尝试使用此正则表达式:(?

但当我在Regex中用C#实现它时。替换函数,当我使用阿拉伯语单词时,它没有任何效果:

    e.Row.Cells[3].Text = Regex.Replace(e.Row.Cells[3].Text, "(?<=بقيمة)(.*?)(?=بتاريخ)", "?");

但如果我使用拉丁字母,它会起作用:

    e.Row.Cells[3].Text = Regex.Replace(e.Row.Cells[3].Text, "(?<=X)(.*?)(?=Y)", "?");

有没有办法使该功能适用于阿拉伯字符?或者我可以采取更好的方法来达到预期的结果吗?例如,排除日期部分?


共有1个答案

乌和畅
2023-03-14

由于所需的数字(不带“-”s)以空格结尾,请使用\s(\d)\s

var txt = "خصم بقيمة 108 بتاريخ 12-31-2021";
var pattern = @"\s(\d+)\s";
Console.WriteLine( Regex.Match(txt, pattern).Value ); // 108
 类似资料:
  • 问题内容: 我有一个像 “ ABC [这是为了提取]” 我想提取Java中的部分。我正在尝试使用split,但是它不能按我想要的方式工作。有人有建议吗? 问题答案: 如果您的字符串中只有一对方括号(),则可以使用:

  • 问题内容: 有没有办法确定字符串是英语还是阿拉伯语? 问题答案: 这是我刚刚尝试过的简单逻辑: 当且仅当在文本中找到阿拉伯语unicode代码点时,它才将文本声明为阿拉伯语。您可以增强此逻辑,使其更适合您的需求。 范围0600-06E0是阿拉伯字符和符号的代码点范围(请参见Unicode表)

  • 问题内容: 我尝试获取<%=和%>之间的字符串,这是我的实现: 它返回 但我的期望是: 我在哪里错了以及如何纠正它? 问题答案: 您的模式很好。但是,您不应该轻信它,应该这样做。以下代码提供了您正在寻找的输出:

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和为什么答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我需要一个函数来返回两个单词(或两个字符)之间的子字符串。我想知道是否有实现该功能的php函数。我不想考虑正则表达式(嗯,我可以做一个,但实际上并不认为这是最好的方法)。思维与功能。这是一个例子: 我们调用该函数: 它返回:“我想要一个蛋糕”。 提前致谢。 更新: 嗯,到

  • 问题内容: 假设我有一个字符串,而我只想提取一部分。 我只知道我感兴趣的部分之前和之后的几个字符1234。 使用字符串可以执行以下操作: 结果,这会给我。 如何在Python中做同样的事情? 问题答案: 使用正则表达式- 文档以供进一步参考 要么:

  • 我在PHP中面临一个解析问题。事实上,当我用法语解析谷歌建议结果时,我试图解析的网址是: http://suggestqueries.google.com/complete/search?client=toolbar 我用以下代码解析它: 结果是好的。 当我用阿拉伯语做这件事时,我会替换lang和query。代码如下 url是正常的,但是当我解析它时会收到警告 警告:file_get_conten