草庐IT

Java String.replace() 或 StringBuilder.replace()

coder 2024-03-29 原文

在我使用 5-10 个替换的情况下是否有必要使用 stringbuilder。

String someData = "......";
someData = someData.replaceAll("(?s)<tag_one>.*?</tag_one>", "");
someData = someData.replaceAll("(?s)<tag_two>.*?</tag_two>", "");
someData = someData.replaceAll("(?s)<tag_three>.*?</tag_three>", "");
someData = someData.replaceAll("(?s)<tag_four>.*?</tag_four>", "");
someData = someData.replaceAll("(?s)<tag_five>.*?</tag_five>", "");
someData = someData.replaceAll("<tag_five/>", "");
someData = someData.replaceAll("\\s+", "");

如果我在这里使用 stringBuilder 会有不同吗?

最佳答案

使用 StringBuilder 在这里不会产生有用的差异。

更好的改进是使用单个正则表达式:

someData = someData.replaceAll("(?s)<tag_(one|two|three|four|five)>.*?</tag_\\1>", "");

在这里,\\1 匹配在 (one|two|etc) 组中捕获的相同内容。

关于Java String.replace() 或 StringBuilder.replace(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47939994/

有关Java String.replace() 或 StringBuilder.replace()的更多相关文章

  1. ruby 正则表达式 : replace double slashes in URL - 2

    除了协议(protocol)定义中的斜杠('http[s]://'、'ftp://'等)之外,我想替换URL中的所有多个斜杠。我该怎么做?此代码无一异常(exception)地替换:url.gsub(/\/\/+/,'/') 最佳答案 您只需排除任何以:开头的匹配项url.gsub(/([^:])\/\//,'\1/') 关于ruby正则表达式:replacedoubleslashesinURL,我们在StackOverflow上找到一个类似的问题: http

  2. ruby-on-rails - rails : replacing try with the Null Object Pattern - 2

    在我的大多数应用程序中,我都有一个current_user方法。为了避免像current_user.name这样的情况出现异常,其中current_user是nil,rails提供了try方法。这个问题是我需要记住在current_user可能是nil的地方使用try。我想使用NullObject模式来消除这种额外的开销。classNullUserdefmethod_missing(method_name,*args)nilendenddefcurrent_userreturnNullUser.newunlessUserSession.find@current_user||=UserS

  3. ruby-on-rails - rails 上的 ruby : replace camel case with space - 2

    我想将camelCase之类的驼峰式单词转换为CAMELCASE。我尝试了提到的方法here.@q=params[:promo].underscore.humanize.upcase但这给了我CAMELCASE而不是CAMELCASE使用相同的结果:@q=params[:promo].gsub(/[a-zA-Z](?=[A-Z])/,'\0').downcase编辑:url包含/camelCase但在使用params[:promo]时,不保留驼峰式并且@q是camelcase 最佳答案 »'camelCase'.underscore

  4. ruby 正则表达式 : replace non-word chars that are not space chars - 2

    如何替换所有也不是空格字符(\s)的非单词字符(\W)?这是所需的功能:"the(quick)!brown\nfox".gsub(regex,"#")=>“#quick##brown\nfox” 最佳答案 "the(quick)!brown\nfox".gsub(/[^\w\s]/,"#")通过使正则表达式替换任何不是单词字符或空格字符的内容。 关于ruby正则表达式:replacenon-wordcharsthatarenotspacechars,我们在StackOverflow上找到

  5. ruby-on-rails - rails : Plus sign in GET-Request replaced by space - 2

    在Rails3(Ruby1.9.2)中我发送一个请求StartedGET"/controller/action?path=/41_+"但是参数列表是这样的:{"path"=>"/41_","controller"=>"controller","action"=>"action"}这里出了什么问题?-、*或.符号工作正常,只是+将被空格替换。 最佳答案 这是正常的URL编码,theplussignisashorthandforaspace:Withinthequerystring,theplussignisreservedasshor

  6. MySQL REPLACE字符串函数简介 - 2

    MySQL为您提供了一个有用的字符串函数REPLACE(),它允许您用新的字符串替换表的列中的字符串。REPLACE()函数的语法如下:REPLACE(str,old_string,new_string);SQLREPLACE()函数有三个参数,它将string中的old_string替换为new_string字符串。注意:有一个也叫作REPLACE的语句用于插入或更新数据。所以不要将REPLACE语句与这里的REPLACE字符串函数混淆。REPLACE()函数非常方便搜索和替换表中的文本,例如更新过时的URL,纠正拼写错误等。在UPDATE语句中使用REPLACE函数的语法如下:UPDATE

  7. Javascript replace() 在 VS 中不起作用 - 未知字符 - 2

    我正在尝试使用javascript替换函数将弯引号替换为直引号:varEditedContent=content.replace(/“/g,'"');这在我快速创建的一个小的概念证明html文件中效果很好,但是当它在visualstudio项目中时,它会用表示“未知字符”的符号替换curl引号:如何解决这个问题,以便在调试时可以正常使用应用程序? 最佳答案 使用统一码:...=content.replace(/\u201C/g,'"');您可以找到各种引号的unicode等价物here.

  8. javascript - 使用 windows.location.replace 刷新页面不使用 URL 中的哈希 - 2

    我有一个AJAX调用,它负责一些服务器端设置(我将其用于登录、语言切换等)。如果且仅当服务器端设置由于此调用而实际更改时,我想刷新当前页面(不重新发布POST表单数据,我们应该在POST后立即在页面上)。AJAX回调中的一个简单JS负责处理此问题:window.location.replace(window.location.toString());这很好用,直到我开始使用anchor。假设我的网址类似于http://www.mysite.com/index/list#someplace然后我执行上述以window.location.replace结尾的ajax调用,然后什么也没有发生

  9. javascript - 对象不支持属性或方法 'replace' - 2

    我的javascript代码中出现奇怪的错误。这是代码示例functionFetchData(){varselValue=$("select[id$=ddlComponents]").val()varparam=$.param({ID:selValue});varmethod="proxy.aspx/GetComponentsValuesAgainstOilValue";$.ajax({type:"POST",url:method,data:param,contentType:"application/json",dataType:"json",success:function(res

  10. javascript - electron 的 remote.getGlobal() 在 window.location.replace() 之后返回 "undefined" - 2

    我一直在摆弄Electron的远程模块。在我的主进程中,我创建了这个变量:global.storage={};我的渲染器进程是用一个名为startup.html的文件初始化的。win.loadURL('file://'+__dirname+'/startup.html')在那里,我包含了一个包含以下函数的javascript文件:functionenterMain(value){remote.getGlobal('storage').exmpl=value;window.location.replace('./general.html');}我传递的值是“hello”,当调用...co

随机推荐