BUG: Lucene.Net.TestFramework.JavaCompatibility.SystemTypesHelpers: Fixed 
replaceFirst() method to match the behavior in Java that is expecting a regular 
expression instead of a literal to replace


Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/fbfcb81d
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/fbfcb81d
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/fbfcb81d

Branch: refs/heads/api-work
Commit: fbfcb81d20d55bab282cb9cdbc7d50a1ff7bd2ee
Parents: 31ceeb2
Author: Shad Storhaug <[email protected]>
Authored: Sun Mar 26 04:21:16 2017 +0700
Committer: Shad Storhaug <[email protected]>
Committed: Sun Mar 26 04:21:16 2017 +0700

----------------------------------------------------------------------
 .../JavaCompatibility/SystemTypesHelpers.cs                 | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucenenet/blob/fbfcb81d/src/Lucene.Net.TestFramework/JavaCompatibility/SystemTypesHelpers.cs
----------------------------------------------------------------------
diff --git 
a/src/Lucene.Net.TestFramework/JavaCompatibility/SystemTypesHelpers.cs 
b/src/Lucene.Net.TestFramework/JavaCompatibility/SystemTypesHelpers.cs
index 81dfbda..d3db4b2 100644
--- a/src/Lucene.Net.TestFramework/JavaCompatibility/SystemTypesHelpers.cs
+++ b/src/Lucene.Net.TestFramework/JavaCompatibility/SystemTypesHelpers.cs
@@ -6,6 +6,7 @@ using System.IO;
 using System.Linq;
 using System.Reflection;
 using System.Text;
+using System.Text.RegularExpressions;
 
 namespace Lucene.Net
 {
@@ -271,12 +272,8 @@ namespace Lucene.Net
 
         public static string replaceFirst(this string text, string search, 
string replace)
         {
-            int pos = text.IndexOf(search);
-            if (pos < 0)
-            {
-                return text;
-            }
-            return text.Substring(0, pos) + replace + text.Substring(pos + 
search.Length);
+            var regex = new Regex(search);
+            return regex.Replace(text, replace, 1);
         }
     }
 }

Reply via email to