我有一个包含以下文本的字符串
String my_string = "hello world. it's cold out brrrrrr! br br";
Run Code Online (Sandbox Code Playgroud)
我想替换每个隔离 BR与<br />
问题是我想避免将字符串转换为
"hello world. it's cold out <br />rrrrr! <br /> <br />";
Run Code Online (Sandbox Code Playgroud)
我想做的是将字符串(使用replaceAll)转换为
"hello world. it's cold out brrrrrr! <br /> <br />";
Run Code Online (Sandbox Code Playgroud)
我确信这很简单,但我的正则表达式是不正确的.
my_string.replaceAll("\\sbr\\s|\\sbr$", "<br />");
Run Code Online (Sandbox Code Playgroud)
我的正则表达式应该找到'空白''b''r''空白'或''空格''b''r''行尾'
但它错过了我的字符串中的最后一个"br"
"hello world. it's cold out brrrrrr!<br />br"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么??TKS!
我有一个字符串,其中包含多个用方括号括起来的文本,我需要将其删除,例如:
10/21/2012 12:12:15 [12:12:28]在大堂旋转门#4(IN)[In] [注意]中承认最后一次(卡#555)
我尝试了String.replaceAll,replaceFirst使用正则表达式"\ [.*\]"删除了第一个[和最后一个]之间的所有文本,我最终得到了
10/21/2012 12:12:15
我坚持如何指定表达式.任何帮助,将不胜感激.
replaceAll 使用包含'*'的值会抛出异常.
我试过这个
String tmp = "M ******* k";
tmp = tmp.replaceAll("****","NOT");
System.out.println("TMP is :"+tmp);
Run Code Online (Sandbox Code Playgroud)
我得到了这个例外
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0
Run Code Online (Sandbox Code Playgroud)
为什么replaceAll有*这个行为,我该怎么解决这个问题解决?
我想A从字符串中删除所有两个或多个连续的.
即,如果输入AAAAAAABBABBCACBAAZASCAAA
应该是BBABBCACBZASC.
我试过的是,
String k = "AAAAAAABBABBCACBAAZASCAAA";
System.out.println(k.replaceAll("(AA)+", "-").replaceAll("-A","").replaceAll("-", ""));
Run Code Online (Sandbox Code Playgroud)
它工作正常.但如果字符串包含-,则会产生问题.我该如何解决?
我创建了这个用tab替换空格的代码:
String r="Tabular este texto".replaceAll("\\s","\t");
System.out.println(r);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行它时,我得到的是:
Tabular este texto
Run Code Online (Sandbox Code Playgroud)
"Tabular"和"este"之间的第一个空格似乎对NetBeans不可见,因为它没有被tab取代.但最奇怪的是,如果我写别的而不是那句话,比如"OLOL OLOL OLOL",它会完美地运作:
OLOL OLOL OLOL
Run Code Online (Sandbox Code Playgroud)
那么,这里发生了什么?
String.replaceAll(String, String)当我注意到用$它周围的符号替换字符串时,我正在使用它.示例$REPLACEME$不会在Linux系统中替换.有谁知道这是为什么?
一些代码:
String foo = "Some string with $REPLACEME$";
foo = foo.replaceAll("$REPLACEME$", "characters");
System.out.println(foo);
Run Code Online (Sandbox Code Playgroud)
输出:
Some string with $REPLACEME$
Run Code Online (Sandbox Code Playgroud) 我试着通过一个小例子来解释我的问题.我实现了版本1和版本2,但我没有得到所需的结果.我必须使用哪个替换参数来使用replaceAll方法获得所需的结果?
版本1:
String s = "TEST";
s = s.replaceAll("TEST", "TEST\nTEST");
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
输出:
测试
测试
版本2:
String s = "TEST";
s = s.replaceAll("TEST", "TEST\\nTEST");
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)
输出:
TESTnTEST
期望的输出:
TEST\NTEST
我需要正则表达式的帮助,我试图将"Inc"替换为"LLC"许多字符串.
我在java中使用了这段代码:
String newValue = newValue.replaceAll("(?i)Inc[^\\w]","LLC");
Run Code Online (Sandbox Code Playgroud)
但结果不正确,更换后删除了一个char:
Exp:CONSULTANTS,INC.("ABC")==> CONSULTANTS,LLC("ABC")//"." 去掉了.
请注意我使用[^\w]来防止在"include"之类的句子中替换"inc".
目前我正在尝试删除字符串数组中的破折号.我在下面尝试的代码不起作用.
splitTimeStamp[0].replaceAll("[\\s\\-()]", "");
System.out.println(splitTimeStamp[0]);
Run Code Online (Sandbox Code Playgroud)
从另一个stackoverflow页面获得replaceAll代码.
提前致谢!
我正在尝试构建一个简单的Web服务器。我想全部替换\n为<br>。我想使用bytes它,因为我的页面正文存储为[]byte。
我用bytes.ReplaceAll()这个。但它一直在说这是对未定义标识符的引用。
有人可以告诉我为什么吗?我在在线编译器中尝试了完全相同的方法,并且工作正常。我想念图书馆吗?
请参阅下面的代码:
import (
"bytes"
"html/template"
"io/ioutil"
"log"
"net/http"
"regexp"
)
type Page struct {
Title string
Body []byte
}
func editHandler(w http.ResponseWriter, r *http.Request, title string) {
p, err := loadPage(title)
if err != nil {
p = &Page{Title: title}
}
// THE LINE THAT CAUSES TROUBLE
p.Body = bytes.ReplaceAll(p.Body, []byte("\n"), []byte("<br>"))
renderTemplate(w, "edit", p)
}
Run Code Online (Sandbox Code Playgroud) replaceall ×10
java ×9
string ×6
regex ×4
go ×1
netbeans ×1
replace ×1
slice ×1
str-replace ×1