我正在开发一个 WordPress 插件,它将帖子和相关数据导出为制表符分隔的文本格式。它即将完成,但我正在努力寻找将 HTML 重新处理为单个字符串的最佳方法。
我使用 preg_replace 和 htmlentities 的组合,但它变得有点混乱。
我确信一定有一种首选方法可以做到这一点,所以我想我应该和你确认一下?我在谷歌上找不到任何合适的东西。
我一直在尝试使用 str_replace_all 替换 R 中数据帧的列中的多个字符串。
目前我已经写了一些简单的东西(如下)
mydata$Final_Result <- str_replace_all(mydata$Final_Result, 'Absent', 'A')
mydata$Final_Result <- str_replace_all(mydata$Final_Result, 'Present', 'P')
Run Code Online (Sandbox Code Playgroud)
我在同一列中还有其他字符串需要替换。所以我正在寻找一种更优雅的方法来在一行中编写此代码。
如果有人能就如何做到这一点提出建议,我将不胜感激。
我的目标总结
我有以下数据帧结构:
my.df <-data.frame("col1_A.C"=c("AA","AC","CC"),
"col2_A.T"=c("TT","AT","TT"),
"col3_C.G"=c("GG","CG","CG"))
my.df
# col1_A.C col2_A.T col1_C.G
# 1 AA TT GG
# 2 AC AT CG
# 3 CC TT CG
Run Code Online (Sandbox Code Playgroud)
对于每一列,我想用字符“R”替换与列名的倒数第三个字符匹配的任何字符。
使用上面的数据框,我想获得这个:
my.df2 <- data.frame("col1_A.C"=c("RR","RC","CC"),
"col2_A.T"=c("TT","RT","TT"),
"col3_C.G"=c("GG","RG","RG"))
my.df2
# col1_A.C col2_A.T col1_C.G
# 1 RR TT GG
# 2 RC RT RG
# 3 CC TT RG
Run Code Online (Sandbox Code Playgroud)
例如,在第一列中,列名是col1_A.C,而A是倒数第三个字符。所有的阿由此的被替换为[R 。
到目前为止我的代码
为此,我编写了以下代码
my.df2 <- my.df %>% mutate(across(.cols=everything(),
.funs=str_replace_all(.,
substr(cur_column(),
nchar(cur_column()-2),
nchar(cur_column()-2)
),
"R")
)
)
Run Code Online (Sandbox Code Playgroud)
不幸的是,生成的数据框 my.df2 …
我们可以做些什么来删除page = 2& From:
"page=2¶m1=value1¶m2=value2" or
"param1=value1&page=2¶m2=value2".
Run Code Online (Sandbox Code Playgroud)
成为:
"param1=value1¶m2=value2" or
"param1=value1¶m2=value2".
Run Code Online (Sandbox Code Playgroud)
在page = 2的情况下,2是任何自然的否.即(0到32000).
问候,
我现在使用这样的东西,但是我收到了很多错误......
$video_id = $_GET['url'];
$video_id = str_replace('http://www.youtube.com/watch?v=','',$video_id);
$video_id = str_replace('&feature=related','',$video_id);
$video_id = str_replace('&feature=fvwrel','',$video_id);
$video_id = str_replace('&hd=1','',$video_id);
$video_id = str_replace('&feature=relmfu','',$video_id);
$video_id = str_replace('&feature=channel_video_title','',$video_id);
$video_id = str_replace('&feature=list_related','',$video_id);
$video_id = str_replace('&playnext=1','',$video_id);
$video_id = str_replace('_player','',$video_id);
Run Code Online (Sandbox Code Playgroud)
问题是youtube有'&feature ='和其他人的多个url变量
我想从youtube网址中提取的唯一内容是唯一的视频ID
例如://www.youtube.com/watch?v = lgT1AidzRWM&feature = related
在id或之前没有任何内容
有人可以帮我搞定吗?
我在网站上有一个所见即所得.问题是用户正在将大量数据复制到其中,从而留下许多未打开且格式不正确的div标签,这些标签打破了网站布局.
是否有一种简单易行的方法可以去除所有出现的<div>和</div>?
str_replace不起作用,因为一些div有样式和其他东西,所以它需要考虑<div style="some styling"> <div align="center">等.
我猜这可以用正则表达式完成,但是当涉及到那些时,我总是一个初学者.
我有这个使用str_replace函数的代码:
$result = mysql_query("SELECT * FROM table");
$contact_link = "<a href=\"/contact-us/\" class=\"inline\" target=\"_parent\">Contact Us</a>";
while($row = mysql_fetch_array($result))
{
$answer = str_replace(array("contact us","Contact Us","Contact us") , array($contact_link , $contact_link , $contact_link), $row['answer']);
echo $answer;
}
Run Code Online (Sandbox Code Playgroud)
但是,当我输入字符串"contact us"时,它返回此值:
<a href="/contact-us/" class="inline" target="_parent"><a href="/contact-us/" class="inline" target="_parent">Contact Us</a></a>
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚原因.我希望它只返回一个链接而不是两个链接封装的联系我们.我想也许是因为两个单词都以小写字母开头,所以也许它会两次返回?一次用于"联系我们",一次用于"联系我们"?我已经阅读了这个网站上的搜索结果,并进行了一些谷歌搜索,但我找不到任何有相同情况发生的事情.
如果它是相关的,我这样做的原因是,当我的客户更新他的网站时,它将返回到他的联系页面的链接.我希望有三个不同版本的联系我们,因为格式可能会根据他使用它的位置而改变.
我们的网站上有很多办公地点,每个办公地点都有一个主要电话号码 - 许多都输入了区号如下:(800) 555-5555
这是我需要他们都看,不管它是如何进入:800- 555-5555
这就是我现在所处的位置
str_replace(array( '(', ')' ), '', $this->data['location_phone']);
Run Code Online (Sandbox Code Playgroud)
虽然这删除了两个括号,但我真的只需要删除开头的一个并用短划线替换右括号.
我想在配置文件中为某些变量创建"自定义"占位符.我以为我会使用这种语法${Variable_name}.但是当我想用值替换占位符时,我无法使其工作.我不需要打印最终值,但将其传递给另一个变量.我只使用println进行调试.字符串变量tmp包含从xml配置文件中读取的字符串.所以我需要tmp2来替换占位符的正确字符串.
String Month = "October"
String tmp = 'This is ${Month} - a month of Love'
String tmp2 = tmp
println tmp2
//println tmp.replaceAll(~/${Month}/,Month)
println tmp.replaceAll("${Month}",Month) //prints This is ${Month} of Love
println tmp.replaceAll('${Month}',Month) // throws an error "WARNING: Sanitizing stacktrace:java.util.regex.PatternSyntaxException: Illegal repetition near index 0"
// desired result to be printed is "This is October
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我使其工作或理解吗?我想我可以用其他一些字符来标记变量.配置文件保存为XML.
UPDATE
我希望这段代码能更好地解释我想要实现的目标
String Month = "October"
// content of the file (c:/tmp/conf.txt) is --> This is ${Month} - a month of …Run Code Online (Sandbox Code Playgroud) 我需要导入一个2行的txt文件并将文件中的每个"e"更改为"bob"我知道你从以下开始但是我很难将字符串中的单词变成一串字母,这样我可以使用.replace("e","bob")方法.
txt文件如下:
Hey Jim, how are you doing today?
I hope all is well with you.
Run Code Online (Sandbox Code Playgroud)
我的代码如下:
text = open(input("Enter file name"), "r")
textline = text.readlines()
numline = 0
for line in textline:
numline = numline + 1
textword = line.split()
lineletter = list(line)
z = str(lineletter)
q = z.replace('e', 'zw')
print(lineletter)
print(textword)
print(z)
Run Code Online (Sandbox Code Playgroud)
然后去哪儿?
str-replace ×10
php ×6
string ×3
r ×2
across ×1
arrays ×1
dplyr ×1
groovy ×1
html ×1
mutate ×1
placeholder ×1
preg-replace ×1
python ×1
python-3.x ×1
reformatting ×1
regex ×1
replace ×1
stringr ×1
strip-tags ×1